• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シート名に自動で年月をつけたい!)

シート名に自動で年月をつけたい!

このQ&Aのポイント
  • VBA初心者の質問です。新規ページ作成のマクロを作成し、H23.3のシート上で実行すると新規ページが挿入され、雛形シートの表がコピーされます。しかし、次の月のシート名を自動で付ける方法が分かりません。平成の表記でも構いませんが、H24.4で実行したらH24.5と続けたいです。
  • 現在のマクロの動作は以下の通りです:H24.3のシート上で実行すると新規ページが挿入され、雛形シートの表がコピーされます。自動で次の月のシート名を付ける方法を教えてください。平成の表記でも構いません。H24.4で実行したらH24.5と続けたいです。
  • VBA初心者です。新規ページ作成のマクロを作りましたが、次の月のシート名を自動で付ける方法がわかりません。平成の表記でも構いません。H24.4で実行したらH24.5と続けたいです。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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のバージョンは必ず明記するようにした方が『吉』だと思います。 バージョンによって回答が異なる場合もあります。

mickpeko
質問者

お礼

早速の回答をありがとうございます!! ご推測のとおりの配置です! 回答を拝見して、指示内容のしくみが少しわかってきました。 早速試してみたいと思います。 そして、質問の仕方へのご指摘もありがとうございます。 今後はバージョンの記載を忘れずにしていきます。 ちなみにWindows VistaでExcel2007です。 本当にありがとうございました。

関連するQ&A