- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シート名に自動で年月をつけたい!)
シート名に自動で年月をつけたい!
このQ&Aのポイント
- VBA初心者の質問です。新規ページ作成のマクロを作成し、H23.3のシート上で実行すると新規ページが挿入され、雛形シートの表がコピーされます。しかし、次の月のシート名を自動で付ける方法が分かりません。平成の表記でも構いませんが、H24.4で実行したらH24.5と続けたいです。
- 現在のマクロの動作は以下の通りです:H24.3のシート上で実行すると新規ページが挿入され、雛形シートの表がコピーされます。自動で次の月のシート名を付ける方法を教えてください。平成の表記でも構いません。H24.4で実行したらH24.5と続けたいです。
- VBA初心者です。新規ページ作成のマクロを作りましたが、次の月のシート名を自動で付ける方法がわかりません。平成の表記でも構いません。H24.4で実行したらH24.5と続けたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
何となくですが、シート名にピリオド(ドット)が含まれるのは 誤動作の元になりかねないような気がします。 以下は仮定のもとに。 『雛形』シートが一番左に位置していて その右側に古い順でシートが並ぶ、(一番右側が最新のシート) 『雛形』シートの右隣りには、『H24_03』シートが既に存在する Sub MacroX() Dim tmpSheetName As String tmpSheetName = Sheets(Sheets.Count).Name tmpSheetName = DateAdd("m", 1, Replace(tmpSheetName, "_", "/")) tmpSheetName = Format(tmpSheetName, "ge_mm") Sheets("雛形").Copy After:=Sheets(Sheets.Count) '『雛形』シートが重いシートなら此処で何かの『待ち処理』が必要かも? Sheets(Sheets.Count).Name = tmpSheetName End Sub 以上ご参考まで。 >質問の仕方に不備等 OSやExcelのバージョンは必ず明記するようにした方が『吉』だと思います。 バージョンによって回答が異なる場合もあります。
お礼
早速の回答をありがとうございます!! ご推測のとおりの配置です! 回答を拝見して、指示内容のしくみが少しわかってきました。 早速試してみたいと思います。 そして、質問の仕方へのご指摘もありがとうございます。 今後はバージョンの記載を忘れずにしていきます。 ちなみにWindows VistaでExcel2007です。 本当にありがとうございました。