VBAでどのようにプログラムを書くか分かりません。 やりたい内容は以下の様になります。 【状況】 A列には値をが入っている。 B列、C列にはところどころ値が入っている。
VBAでどのようにプログラムを書くか分かりません。 やりたい内容は以下の様になります。 【状況】 A列には値をが入っている。 B列、C列にはところどころ値が入っている。 A列、B列、C列全て入っている行についてはコピーして、A列の初めの空白行から貼り付ける。 貼り付けた行についてはC列の値をB列の値にする。 A列、B列、C列が全て入っている行は複数行ある。 このような場合はどのようにしたらよろしいのでしょうか? すみませんが、よろしくお願い致します。
Visual Basic | Excel・76閲覧・250
ベストアンサー
これでどうでしょうか。 配列を使う方法もありますが、分かりやすいコピー方式で処理しています。 Sheet1にあるデータをSheet2にコピーしてC列の値を書き換えています。 ※添付図参照 Sub sample() Dim i As Long Dim sh1 As Worksheet, sh2 As Worksheet Dim title As Variant Set sh1 = Worksheets("Sheet1") Set sh2 = Worksheets("Sheet2") sh1.Select With sh1 title = Range("A1:C3") For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(i, "A") <> "" And .Cells(i, "B") <> "" And .Cells(i, "C") <> "" Then .Range(Cells(i, 1), Cells(i, 3)).Copy sh2.Cells(Rows.Count, "A").End(xlUp).Offset(1) Application.CutCopyMode = False End If Next i End With With sh2 .Range("A1").Resize(1, 3) = title For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row .Cells(i, "C") = .Cells(i, "B") Next i End With End Sub
質問者からのお礼コメント
ありがとうございます。 無事解決できました!
お礼日時:5/17 14:47