|
VBA初心者で色々試してるのですが例えば
シート1 A1に任意の数字を入れると
シート2 B1:『B6』をコピーして
シート1 C2にコピーする方法がわからないです><
Worksheets("Sheet2").Range("B1:『B6』").Copy _
Destination:=Worksheets("Sheet1").Range("C2")
式的にはこんな感じだと思ったのですが
『B6』のところで単純に Range("B1:『B6』+A1にいれた任意の数字")と出来ればいいのですが、出来ないっぽい?ので、どうすればいいのか困ってます。
また、試しにifで作ってもみましたが
If Range("A1").Value = 1 Then
セル範囲 = "B1:B6"
GoTo コピー貼り付けする
ElseIf Range("A1").Value = 2 Then
セル範囲 = "B1:B7"
GoTo コピー貼り付けする
ElseIf Range("A1").Value = 3 Then
セル範囲 = "B1:B8"
GoTo コピー貼り付けする
Else
End If
MsgBox "A1セルの値が不正です。", , "エラー"
Exit Sub
コピー貼り付けする:
Range(セル範囲).Copy 'コピーする
Range("C2").PasteSpecial Paste:=xlPasteValues '値を貼り付け
↑だと、コピー参照先をシート2のB1:B6にうまくできず
シート1のB1:B6をコピーしてる事になる上、A1に3と入れたら
B1:B8をC2コピーしてくれるのですが、その後A1に1と入れたら
B1:B6をコピーするのでB7・B8に入ってる数字が消えてくれません><
|
|