• ベストアンサー

起動する月によってシートを変えたい

Excel2000を使用しています。 1月~12月までのシートがあり、毎日数値を入力します。 4月にBookを起動すると4月のシートが初期表示され、 5月にBookを起動すると、5月のシートが初期表示されるように設定することが出来るのでしょうか? VBAを使用して作成してみたのですが、分からなくて断念してしまいまし・・・。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.2

これは、私が質問し、nishi6さんにもらった返事です。 質問 1 今日の日付けから、年月を取り出す。2003/1/1→200301 2 シートの中に、Sheet200301が有るかどうか調べ、無かったらSheet200301というシートを作る。 3 新しいシートを作ったら、Sheet4のA1:Z2をSheet200301に貼り付ける。 答え Sub DataCopy() Dim ws1 As Worksheet 'Sheet1 Dim sht As Worksheet 'シート Dim shtChk As Boolean '追加すべきシートの有無 Dim AddShtName As String '追加すべきシート名 Dim ymd Set ws1 = Worksheets("Sheet1") ymd = Date '今日の日付けをセット AddShtName = "Sheet" & Format(ymd, "yyyymm") Application.ScreenUpdating = False '***** 同一シート名の有無を調べる For Each sht In Worksheets If sht.Name = AddShtName Then shtChk = True End If Next '***** シートの追加 If shtChk = False Then '同一シートがなければ追加する Worksheets.Add.Move after:=Worksheets(Worksheets.Count) ActiveSheet.Name = AddShtName 'Sheet4をコピー Worksheets("Sheet4").Range("A1:Z2").Copy Destination:=Worksheets(AddShtName).Range("A1") Else Worksheets(AddShtName).Activate End If Application.ScreenUpdating = True End Sub 標準モジュールにコピーしてください。 問題なく稼動しています。

その他の回答 (1)

  • yoshisuke
  • ベストアンサー率65% (19/29)
回答No.1

私の環境はExcel97なのでそのまま動かないかもしれませんが VBAProjectの「ThisWorkBook」に以下のような ソースを書いたら実現できました ----------- ソース ここから ----------- Option Explicit Private Sub Workbook_Open() Dim strMonth As String strMonth = Month(Now()) Worksheets(strMonth & "月").Activate End Sub ----------- ソース ここまで ----------- 参考までにということで。。。

関連するQ&A