|
▼isausa さん:
>VBA初心者ですが、是非マスターしたいVBAがあります。
>sheet1のa1:B5に1月分のデータ、C1:D5に2月分データ、E1:F5に3月分データ・・・・12月までデータが一覧で入っていたとします。sheet2でA1に1と入れるとSheet1のA1:B5のデータがSHEET2のA2:B6に転記できるように、2と入れると先のSheet2データ範囲がクリアされて2月分のデータC1:D5が転記されるようにしたいのですが、できますか。
"Sheet2"のシートモジュールに
こんな感じでできると思いますが・・
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
With Target
If .Count <> 1 Then Exit Sub
If Not IsNumeric(.Value) Then Exit Sub
If .Address(0, 0) <> "A1" Then Exit Sub
If Not IsEmpty(.Value) Then
Application.EnableEvents = False
i = .Value
With Sheets("Sheet1")
.Range(.Cells(1, i * 2 - 1), .Cells(5, i * 2)).Copy Sheets("Sheet2").Range("A2")
End With
Application.EnableEvents = True
End If
End With
End Sub
|
|