- ベストアンサー
エクセルのVBAマクロについて
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub try() Dim r As Range, rr As Range 'もしF3が空白なら If Range("F3").Value = "" Then '書き出す位置はF3に Set rr = Range("F3") Else '空白でなければ書き出す位置はF列の最終行の1つ下 Set rr = Cells(Rows.Count, 6).End(xlUp).Offset(1) End If 'B3~B15を順次検索して For Each r In Range("B3:B115") 'B列に値があれば If r.Value <> "" Then 'B~E列の値をF~I列に上詰めで代入していく rr.Resize(, 4).Value = r.Resize(, 4).Value '書き出したら、書き出すF列を1行下げる Set rr = rr.Offset(1) End If Next Set rr = Nothing End Sub ご参考程度に。
その他の回答 (1)
- hige_082
- ベストアンサー率50% (379/747)
回答No.2
Sub test() Dim i As Long For i = 3 To Range("b65536").End(xlUp).Row If Cells(i, 2).Value <> "" Then Cells(Range("g65536").End(xlUp).Offset(1).Row, 6).Resize(1, 4).Value = Cells(i, 2).Resize(1, 4).Value Next End Sub
お礼
ありがとうございました。 早速試してみます。