プロが教えるわが家の防犯対策術!

VBA 前月の月の名前でブックを保存
お世話になっております。
上記の通りです。

今月の月で名前は保存できるのですが、先月の月にすることは可能なのでしょうか?

*001.東京 7月分
   ↓
*001.東京 6月分

//////現在使用しているコード////////
Dim Filename As String
Filename = Range("K1") & "." & Range("A3") & Format(Date, "mm""月分") & ".xls"
ActiveWorkbook.SaveAs "保存先" & Filename
ActiveWindow.Close

宜しくお願い致します。

A 回答 (1件)

質問の意図が今ひとつ見えないので、



そのまま使うなら、
> Filename = Range("K1") & "." & Range("A3") & Format(Date, "mm""月分") & ".xls"

 myDate = DateSerial(Year(Date), Month(Date) - 1, 1)
 Filename = Range("K1") & "." & Range("A3") & Format(myDate, "mm月分") & ".xls"

とすればよいとは思います。

なお、
>  ActiveWindow.Close
これは意味が違うと思います。

> ActiveWorkbook.SaveAs "保存先" & Filename
>   ActiveWindow.Close
というなら、
 ActiveWorkbook.SaveAs "保存先" & Filename '"!保存先というのは疑問が残ります"
 ActiveWorkbook.Close 'とまってしまう場合は、Close の後に、False を後につける

これは、保存先というファイル名だとした場合で、「保存先」というフォルダやドライブなら、変数ですから、予め登録しておいて、" " で囲みません。

例:
Dim 保存先 As String
保存先 = Application.DefaultFilePath & "\"
    • good
    • 0
この回答へのお礼

回答有難う御座います。
上手く出来ました。
ActiveWindow.Closeはここではおかしい使い方なんですね。
すみません。ネットで探してつけたので・・・
勉強になります。
有難うございました。

お礼日時:2010/07/20 15:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A