Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2982 / 13644 ツリー ←次へ | 前へ→

【64936】月が替わったらコピーを別名で指定フォルダに保存する方法 かもめ 10/3/27(土) 20:38 質問[未読]
【64938】Re:月が替わったらコピーを別名で指定フォ... かみちゃん 10/3/27(土) 23:34 発言[未読]
【64941】Re:月が替わったらコピーを別名で指定フォ... かもめ 10/3/28(日) 13:09 お礼[未読]

【64936】月が替わったらコピーを別名で指定フォル...
質問  かもめ  - 10/3/27(土) 20:38 -

引用なし
パスワード
   Excel 2003 を使用しています。

C:\報告関連\報告書.xlsというファイルを開いたときに、

1日だったら(月が替わっていたら)、
そのファイルを報告書(○月分).xlsという名前で、
C:\報告関連\2010\3月度\
(2010フォルダは前月の年・無ければ作成。
 3月度フォルダは前月の月、無ければ作成)
に別に保存し、報告書.xlsのセルの中身を消す。
という流れのマクロを組みたいのですが、
セルの中身を消すマクロは組めるのですが、
別名で指定フォルダに名前を付けて保存するやり方が良くわかりません。

別名で保存して、元のファイルに戻ってくるような動きなのですが、可能でしょうか。
教えていただけると助かります。

【64938】Re:月が替わったらコピーを別名で指定フ...
発言  かみちゃん E-MAIL  - 10/3/27(土) 23:34 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>1日だったら(月が替わっていたら)、
>そのファイルを報告書(○月分).xlsという名前で、
>C:\報告関連\2010\3月度\
>(2010フォルダは前月の年・無ければ作成。
> 3月度フォルダは前月の月、無ければ作成)

ファイル名の生成部分だけであれば、以下のような感じでできると思います。
少し発想を変えて、ファイルが作成していなければという条件をきっかけとしています。

Sub Sample()
 Dim dt As Date
 Dim strPath As String
 Dim ss As String
 
 strPath = "C:\報告関連"
 dt = DateAdd("m", -1, Date)
 
 ss = strPath & "\" & Format(dt, "yyyy")
 If Dir(ss, vbDirectory) = "" Then
  MkDir ss
 End If
 ss = strPath & "\" & Format(dt, "yyyy\\m月度")
 If Dir(ss, vbDirectory) = "" Then
  MkDir ss
 End If
  
 ss = strPath & "\" & Format(dt, "yyyy\\m月度") & "\報告書(" & Format(DateAdd("m", 1, dt), "m月分") & ").xls"

 MsgBox ss
End Sub

【64941】Re:月が替わったらコピーを別名で指定フ...
お礼  かもめ  - 10/3/28(日) 13:09 -

引用なし
パスワード
   かみちゃん さん

ありがとうございます!
コピーを別名で保存する方法は調べたら出来そうなので、
これで解決できそうです!ありがとうございます!

1つのMkDirで2フォルダ一気に作ることも、
年のフォルダがあればその下に作ることも可能なんですね。
参考になりました。ありがとうございます。

2982 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free