|
▼わたる さん:
もう見ていないと思いますが
逐一、シートを選択しない書き方をお勧めします。
頑張って考えたコードかもしれませんが
わかりにくかったので書き換えてみました。
Sub test()
Dim r As Range
Dim i As Long
Dim n As Long
Set r = Sheets("明細票").Range("C2:C5")
Set r = Union(r, r.Offset(, 4), r.Offset(, 8))
Set r = Union(r, r.Offset(7), r.Offset(14))
r.ClearContents
With Sheets("俺")
For i = 21 To 35
If .Cells(i, "V").Value <> "" Then
n = n + 1
r.Areas(n)(1).Value = .Cells(i, "B").Value
r.Areas(n)(2).Value = .Cells(i, "G").Value
r.Areas(n)(3).Value = .Cells(i, "I").Value
r.Areas(n)(4).Value = .Cells(i, "R").Value
End If
Next
End With
End Sub
|
|