あるセルに別のシートをコピーするマクロを書きたい。VBAに値がある場合はセルをコピーする
これまでのところ、私はこれを試してみましたが、それは
シート2にシート1からの最初のセルにのみ最後のセルをコピーSub CopyBasedonSheet1()
Dim i As Integer
Dim j As Integer
Sheet1LastRow = Worksheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Row
Sheet2LastRow = Worksheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row
For j = 1 To Sheet1LastRow
For i = 1 To Sheet2LastRow
If Worksheets("Sheet1").Cells(j, 2).Value = "a" Then
Worksheets("Sheet2").Cells(i, 1).Value = Worksheets("Sheet1").Cells(j, 1).Value
Else
End If
Next i
Next j
End Sub
は、おそらくあなたのSheet2LastRowがあなたの実行の開始時に1である全く異なるアプローチを試みることがあります。したがって、1つのステップしか発生しません。この場合、ループは1つだけ必要です。 'i'ループを削除し、if文に' i = i + 1'を置きます。 – Luuklag
ランダムなテキストで8行を作成しようとしましたが、すべてがシート1の最後のセルに変更されました.C、C、C、C、C、Cも取得しました。 – Longbow