• ベストアンサー

VBA シート名を先月の名前にしたい

VBA シート名を先月の名前にしたい お世話になります。 excelのシート名を、当年先月の名前(2013年4月なら”2013年3月”)にしたいのです。 当月ならうまくいくのですが、VBAでいいコーディングがあればご教示ください。 宜しくお願いします。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> 当月ならうまくいくのですが 「どうやったか」は質問文中に書くべき =format(Now()-day(Now()),"yyyy年m月")

mattbianco2011
質問者

お礼

申し訳ありません ActiveSheet.Name = =format(Now()-day(Now()),"yyyy年m月") でうまくいきました。 感謝します。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

sub macro1() on error resume next activesheet.name = format(dateadd("M",-1,date), "yyyy年m月") end sub みたいな。

mattbianco2011
質問者

お礼

ありがとうございます。 うまくいきました。 感謝します。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

こんな感じでは如何でしょうか。 Sub ボタン1_Click() Dim DDATE As Date DDATE = DateSerial(Year(Date), Month(Date), 0) ActiveSheet.Name = Year(DDATE) & "年" & Month(DDATE) & "月" End Sub

mattbianco2011
質問者

お礼

ありがとうございます。 フォームでボタンを作り実行し確認しました。 感謝します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 一例です。 Sub Sheet名変更() Dim tmp As Variant tmp = DateAdd("m", -1, Date) ActiveSheet.Name = Year(tmp) & "年" & Month(tmp) & "月" End Sub こんな感じではどうでしょうか? ※ 当然のことながら同一Bookに同じシート名はつけることはできませんので、 1Sheetのみ限定となります。m(_ _)m

mattbianco2011
質問者

お礼

ありがとうございます。 うまくいきました。感謝します。

関連するQ&A

専門家に質問してみよう