基本的に、次のシナリオがあります。
2 列、600 行のデータ。
列 2 からデータをコピーし、同じ行の列 1 のコンテンツの最後に配置する必要があります。これにより、列 1 に元のコンテンツと列 2 の追加コンテンツが追加されます。
これを行う方法に関する情報は大歓迎です。
前もって感謝します!
基本的に、次のシナリオがあります。
2 列、600 行のデータ。
列 2 からデータをコピーし、同じ行の列 1 のコンテンツの最後に配置する必要があります。これにより、列 1 に元のコンテンツと列 2 の追加コンテンツが追加されます。
これを行う方法に関する情報は大歓迎です。
前もって感謝します!
これは、単純な形式の VBA です。マクロを作成し、これらの行を追加するだけです。次に、元の列 (列 1 と呼んでいるもの) を選択し、マクロを実行します。
a = ActiveCell.Value
b = ActiveCell(1, 2).Value
ActiveCell.Value = a + b
角かっこで囲まれたセル参照は相対ステートメントです。1, 2 は「同じ行、右に 1 列」を意味するため、必要に応じて変更できます。次のように展開してループさせることができます。
Do
a = ActiveCell.Value
b = ActiveCell(1, 2).Value
ActiveCell.Value = a + b
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = "" Then
Exit Do
End If
Loop
そのループは、空白のセルが見つかるまで続き、その後停止します。したがって、停止したい場所に空白のセルがあることを確認してください。結合する行に余分な文字を追加することもできます..上記の例ではActiveCell.Value = a + b
ですが、それを作成することも、他の助けになるものを作成することActiveCell.Value = a + " - " + b
もできます。
これにより、列 2 から値が取得され、列 1 の下部に順番に配置されます。
Sub test()
Dim rng1 As Range
Dim rng2 As Range
Dim cl As Range
Dim r As Long
Set rng1 = Range("A1", Range("A1048576").End(xlUp))
Set rng2 = Range("B1", Range("B1048576").End(xlUp))
r = rng1.Rows.Count + 1
For Each cl In rng2
Cells(r, 1).Value = cl.Value
r = r + 1
Next
End Sub