SHEETS(1)のA列とB列をカンマで結合し、SHEETS(2)のA列に記載しようとしています。
例えば
SHEETS(1)
A1セル・・東京都 B1セル・・新宿区
A2セル・・大阪府 B2セル・・大阪市
SHEETS(2)
A1セル・・東京都,新宿区
A2セル・・大阪府,大阪市
データ量はかなり多く、数万行くらいです。
できるだけ早く処理できるようなコードにしたいです。
配列とJOIN関数を使う方法が早そうなので他のサイトを参考に記載してみました。
Sub SAMPLE() Dim i As Long Dim j As Long Dim str As String Dim ary Dim ary2() As String Dim MAXROW As Long With Sheets(1) With .Range("A1").Cells(Rows.Count, 1).End(xlUp) MAXROW = .Row End With ary = .Range(.Cells(1, 1), .Cells(MAXROW, 2)) ReDim ary2(1 To UBound(ary, 1) * UBound(ary, 2)) For i = LBound(ary, 1) To UBound(ary, 1) For j = LBound(ary, 2) To UBound(ary, 2) ary2((i - 1) * UBound(ary, 2) + j) = ary(i, j) Next Next str = Join(ary2, ",") End With With Sheets(2) .Range(.Cells(1, 1), .Cells(MAXROW, 1)) = str End With End Sub
実行してみるとSHEETS(2)のA1セル(以降のセル全て)に”東京都,新宿区,大阪府,大阪市”とSHEETS(1)のA2セル以降の内容も
入ってしまいます。
修正したいのですが、コードがよく分かりません。
教えて下さい。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/11 08:22