- 締切済み
VBAコード”当月”のシートの選択
いつもお世話になっております。 下記についてどうしてもうまい方法が思いつかないので、 どなたかご教示願います。 ・当月のシートを選択させたい ・詳細 エクセルBOOKでシート名が【2019年4月】【2019年5月】【2019年6月】があり、 今後も7月8月と増えていく →このシートの中の”当月”のものを選択させたい! ※月が新しくなる度に書き換えるてまを省きたい。 以上です。 どうぞご回答お願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (455/693)
次のような挙動でいいでしょうか? シート名は 【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
- tanakanono
- ベストアンサー率24% (134/553)
シート名は手入力ですか?スペースが入っていたら全角だったりすると該当のシートが見つからないこともあるかもしれません。 まずはNo1の回答で動くことを確認したらエラー回避をいろいろ考えましょう。
- f272
- ベストアンサー率46% (8477/18147)
こんな感じ? sht = Format(Date, "yyyy年m月") Sheets(sh).Select