次のような処理を考えています。
A B (シート1)
2001/5/1 10000
2001/5/2 3000
: :
このデータはACCESSからインポートしたものですが、これを下記のような
シートに展開しようとしています。
1月 2月 ・・・ (シート2)
1日 10000 ???
2日 3000 ???
: : :
年が変わるとシートを追加します。
次のようなロジックを考えました。
Dim Rng As Range (他略)
I = 2
Wrk_Year = 9999
Worksheets("シート1").Activate
Do While (ActiveSheet.Range("A" & I) <> "")
Set Rng = Range("A" & I)
If Wrk_Year = Year(Rng.Value) Then
Else
Wrk_Year = Year(Rng.Value)
For Each Worksheet In Worksheets '同じシート名があるか
If Worksheet.Name = Wrk_Year & "年" Then
Sh_Flg = 0
Exit For
Else
Sh_Flg = 1
End If
Next
If Sh_Flg = 1 Then
Worksheets("シート2").Copy after:=Worksheets(Worksheets.Count) '最後尾にシートコピー
ActiveSheet.Name = Wrk_Year & "年"
Worksheets("シート1").Activate
Sh_Flg = 0
End If
End If
Cell_Month = Month(Rng.Value) + 1
Cell_Day = Day(Rng.Value) + 1
(1) Rng.Value.Copy Worksheets(Wrk_Year & "年").Cells(Cell_Day, Cell_Month)
I = I + 1
Loop
ここで、(1)でいつも「オブジェクトが必要です。」とのエラーになってしまいます。
たぶん、非常に基礎的なことだと思うのですが、なぜでしょうか?
お礼
ご回答ありがとうございます。 勉強になりました。たいへんよくわかりました。