dポイントプレゼントキャンペーン実施中!

もしも、
SHEET1の セルA1の値が、1であったら、

SHEET2の、B3からB8までを、
SHEET1の B3からB8の範囲にコピーする

・・・というマクロの書き方を教えてください。

if thenなどの、基本は行けるのですが、
【ほかのシートの、この範囲を参照する…】という部分で苦労しています。

どうぞ、よろしくお願いいたします。

A 回答 (1件)

その部分だけ、そのまま書くと下記です。



If Worksheets("Sheet1").Range("A1").Value = 1 Then
Worksheets("Sheet2").Range("B3:B8").Copy Destination:=Worksheets("Sheet1").Range("B3")
End If


ですが、シートを定義した書き方を覚えた方がいいと思いますので、サンプルを書いておきます。

Sub Sample()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
With sh1
If .Range("A1").Value = 1 Then
sh2.Range("B3:B8").Copy Destination:=.Range("B3")
End If
End With
End Sub
    • good
    • 0
この回答へのお礼

とても助かりました。
どうも、ありがとうございます!

お礼日時:2016/11/09 20:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!