この問題は、Excelの.xlsファイルにあります。
最も単純なユースケース:
列Aには1つの行があります。列Bには5行あります。列Bの5行は、改行で区切られた1つの行にマージする必要があります。
列Aに大量のIDがある巨大な.xlsドキュメントがあります。各列Aの行に属する行は平均して3〜10行あります。
どの列Bの行がどの列Aに属しているかを知る方法は?セルの配置によって。1つの列Aの行には、その右側に5つの列Bの行がある場合があります。
VBAの経験はありません。私はマクロと関数を探しましたが、この問題に一致するものを見つけることができませんでした。
編集:私は今、列Aと列Bの間に1対1のマッピングがある行を無視するようにスクリプトを取得する方法を理解しようとしています。
もう一度編集-2012年6月20日:画像を添付できるようになったので、取得しようとしている画像のスクリーンショットを次に示します。
ブライアンとマークの行は無視する必要がありますが、スコットとティムは値をコピーします。
編集:列Aをマージ解除し、Andyが提供したコードを使用し、その後このVBスクリプトを使用すると、次のトリックが実行されます。
Sub mergeA()
For i = 2 To Cells(65535、1).End(xlUp).Row
If IsEmpty(Cells(i、1))Then Range(Cells(i-1、1)、Cells(i、1) ).Merge
Next
End Sub
そのVBスクリプトは、列Aのセルを元に戻します。
スクリプトは作成しませんでした。これは次のWebページからのものです:
http ://www.vbforums.com/showthread.php?t = 601304