| 
    
     |  | ▼ponpon さん: >▼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
 
 有り難うございました。そのまんま書き写しでうまくいきました。応用がうまくいくかどうかわかりませんががんばってやってみます。
 
 |  |