|
カド さん、おはようございます。
>下記のように、B列に1と有ったら、
>セルD1とD4とD6を選択して、コピーしたいのです。
選択はこんな感じですが、コピーしたいというのはどこへですか?
実際にコピーするときは、
(コピー元セル範囲).Copy Destination:=(貼付先セル範囲)
でできますので、選択は不要です。
Sub test()
'
Dim r1 As Range, r2 As Range, r3 As Range
'現在アクティブなシートが対象
With Application.ActiveSheet
Set r1 = Application.Intersect(Columns("b:b"), UsedRange)
End With
'内容をチェックして選択準備
For Each r2 In r1
If r2.Value = 1 Then
If r3 Is Nothing Then
Set r3 = r2.Offset(0, 2) 'DはBの2列右
Else
Set r3 = Application.Union(r3, r2.Offset(0, 2)) 'Unionで範囲追加
End If
End If
Next
'
If r3 Is Nothing Then
MsgBox "該当セルなし", vbExclamation
Else
r3.Select
End If
Set r3 = Nothing: Set r1 = Nothing
End Sub
|
|