• 締切済み

VBAコード”当月”のシートの選択

いつもお世話になっております。 下記についてどうしてもうまい方法が思いつかないので、 どなたかご教示願います。 ・当月のシートを選択させたい ・詳細 エクセルBOOKでシート名が【2019年4月】【2019年5月】【2019年6月】があり、 今後も7月8月と増えていく →このシートの中の”当月”のものを選択させたい! ※月が新しくなる度に書き換えるてまを省きたい。 以上です。 どうぞご回答お願い致します。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

次のような挙動でいいでしょうか? シート名は 【2019年4月】 【2019年5月】 【2019年6月】 【2019年12月】などである。 このブックを開くと 実行日の年月に該当するシートが自動的に選択される。 該当するシートがない場合は、 シートたちの最後にシートを追加し、 選択の上、シート名を設定する。 ならば、 ThisWorkbookオブジェクトに次のコードを配置します。 Option Explicit Private Sub Workbook_Open()  Dim ShCount As Long  Dim tgShName As String  Dim ShCounter As Long    With ThisWorkbook   ShCount = .Sheets.Count   tgShName = Format(Date, "【yyyy年m月】")   'MsgBox (tgShName)   For ShCounter = 1 To ShCount    If .Sheets(ShCounter).Name = tgShName Then     .Sheets(ShCounter).Activate     Exit Sub    End If   Next ShCounter     .Sheets(ShCount).Select   Sheets.Add After:=.Sheets(ShCount)   .Sheets(ShCount + 1).Name = tgShName  End With End Sub

回答No.2

シート名は手入力ですか?スペースが入っていたら全角だったりすると該当のシートが見つからないこともあるかもしれません。 まずはNo1の回答で動くことを確認したらエラー回避をいろいろ考えましょう。

  • f272
  • ベストアンサー率46% (8477/18147)
回答No.1

こんな感じ? sht = Format(Date, "yyyy年m月") Sheets(sh).Select

関連するQ&A