• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 保存日によって、ファイル名に「月」を入力)

VBAで月によってファイル名を変更する方法

このQ&Aのポイント
  • Excel365VBAを使用して、各月の25日に報告書を作成し、保存する方法について説明します。
  • 報告書の保存日によって、保存するファイル名に「月」を入力することができます。
  • 保存日が25日から月末までの場合は翌月名を、1日から24日までの場合は当月名をファイル名に入力し、保存することができます。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8117/17343)
回答No.1

d = Date dd = Day(d) で日付と日がわかるので If dd >= 25 Then Debug.Print Format(d + 6, "e-mm") Else Debug.Print Format(d, "e-mm") End If こんなふうに処理を分岐させればよい。

nanakora
質問者

お礼

ありがとうございました。 無事にできました。 すごい助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1648/2498)
回答No.2

以下でA1に適当な日付を入れて希望通りになれば mDate = Range("A1").Value を削除して mDate を Date に変更して利用してみてください。 Sub Test() Dim mDate As Date Dim NMDate As Date mDate = Range("A1").Value If Day(mDate) < 25 Then NMDate = mDate Else NMDate = DateAdd("m", 1, mDate) End If Debug.Print Format(NMDate, "e-mm") End Sub

nanakora
質問者

お礼

ありがとうございます。 無事に完成しました。 助かりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAでSaveAs使用し、指定していないのにデスクトップに保存される理由

    VBAで構文中に ActiveWorkbook.SaveAs FileFormat:=xlCSV, _ CreateBackup:=False という記述をしました。すると、保存場所を指定していないのにデスクトップに保存されてしまいます。まず、なぜでしょうか?また、保存場所の指定はどのようにすればよいでしょうか?

  • ファイル名に変数を割り当てたい

    EXCEL VBAで ファイル名に変数を割り当てて保存したいのですが、 うまく行きません。どこがおかしいのか教えてください。 C\サンプル\見込200704 を変数で割り当てて保存したい。 バージョン301 = "200704" 四月 = "C:\サンプル\見込" & "バージョン301" Range("A1").Select ActiveWorkbook.SaveAs Filename:=四月, _ FileFormat:=xlCSV, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWorkbook.Close False

  • VBAでのCSV保存

    VBAでExcelのデータを保存したく、 ActiveSheet.SaveAs _ Filename:=xxxxx, _ FileFormat:=xlCSV といった感じにしています。 ほぼこの方法で問題ないのですが、なぜか変形してしまう データがあります。 文字列として2004/6/18といった形で入力しているデータが 6/18/2004のように変化してしまいます。 FileFormatを指定しなければ、2004/6/18のままですが、 それではCSVファイルになりません。 どうしたらいいのでしょうか?

  • word VBA ファイル名 保存

    wordで作成したファイルの最初の第1行名をファイル名として、名前を付けて保存できるマクロを作りたいのですが、うまくいきません。 Sub 保存() Dim ファイル名 As Variant ファイル名 = ActiveDocument.Paragraphs(1) & ".docx" ActiveDocument.SaveAs FileName:=(ファイル名), FileFormat:= _ wdFormatXMLDocument End Sub ではだめなのですが、どなたか添削よろしくお願いします。困っております。なにぶん初心者ですので基本的な文法のミスかもしれないですが、うまくいきません。

  • Excel/VBAのファイル保存

    いつもここでは大変お世話になっています。 以下のように名前をつけて保存をしているのですが、 同名のファイルがあった場合でも上書き確認せずに上書きをさせる方法を教えて下さい。 お願いします。 ActiveWorkbook.SaveAs Filename:= _ "\\PC名\ディレクトリ名\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False

  • ExcelInputBoxの文字をファイル名にする

    こんにちは。 Excel2007を使用しています。 マクロであらかじめ読み込んだファイルに、InputBoxに日付を入力して "20120723_Summary.xlsx"のように名前をつけたいのですが、 InputBoxに入力した文字をActiveWorkbookに渡す部分が書けません Dim NewName As String NewName = InputBox("名前を入力","","_Summary") 'ここで20120723_Summaryと入力する ChDir "C:\Documents and Settings\$user$\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\$user$\デスクトップ\20120723_Summary.xlsx", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False デスクトップに20120723_Summary.xlsxが作成される この部分の書き方がおわかりの方お教えください。 よろしくお願いいたします。

  • EXCEL VBAでカンマ区切りテキストファイルに変換する方法

    EXCELで作成したシートをVBAでカンマ区切りテキストファイル(CSVファイルではなく)に変換する方法を教えてください 下記のプログラムではテキストファイルに変換されますが、カンマ区切りになりませんでした。 Sub Samp() ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\aa.txt", FileFormat _ :=xlText, CreateBackup:=False End Sub

  • エクセルVBAでブックを相対パスで保存する

    お世話になります。 苦労しながらもエクセルVBAをいじっています。仕事の効率を上げるために、VBAで自動化をしていますが、わからないことがありますので教えてください。 月ごとのシートを作成して、その月に完成させたプロジェクトのリストを入力するブックを作り、各契約者に配りたいと思っています。そのブックには、報告書提出を簡素化できるように、作成したい該当月のシートだけを抽出して決められた名前で保存し、電子メールに添付して送信できる状態にした報告書作成のプログラムを組んでいます。が、抽出されたシートだけのブックを、オリジナルのブックがあるフォルダと同じところに保存したいんです。"名前を付けて保存"をVBAに設定すると、絶対パスが必要な要ですし、もしも指定しなければ作業フォルダ(カレントフォルダ)に保存されるようですが、何とかしてオリジナルのブックと同じフォルダに保管できないものでしょうか。 どうぞよろしくお願いします。 ちなみに、下記が自分なりにやってみたものです。 --------------------------------- Private Sub CommandButton1_Click() Dim myName As String Dim pasu As String With ListBox1 If (.ListIndex = -1) Then MsgBox "提出用報告書を作成するシートを選択してください" Else Worksheets(.List(.ListIndex)).Select pasu = ActiveWorkbook.Path ActiveSheet.Copy myName = ActiveSheet.Name ActiveWorkbook.SaveAs Filename:= _ "" & myName & "" & Application.UserName & ".xls" _ , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Unload UserForm2 End If End With End Sub

  • エクセル VBA 保存したCSVファイルについて

    いつもお世話になっています。 早速ですが カンマ区切りのテキストファイルをカンマ区切りで読み込んだあと変更を加え ActiveWorkbook.SaveAs Filename:="Book2.csv", FileFormat :=xlCSV, CreateBackup:=False で保存したものを メモ帳などで開いた時に 不要な箇所にカンマの不要な箇所に沢山カンマが付いてしまいます。 M列まであるのでその分の空白もカンマ区切りで保存されてのだと思うのですが これを、不要な部分の空白を除いた形で保存する方法は無いでしょうか? どうぞよろしくお願いします

  • VBA 新規ファイルを元ファイルと同じ場所に保存する方法

    こんにちは。VBA初心者です。 エクセルファイルのシートを、いろいろ行を増やしたり計算を自動にするようにして、 最後にテキスト形式にするためのマクロをつくっております。 元のエクセルファイルの対象のシートをコピーして、新しいファイルを作成しペースト→保存→ファイルを閉じるところまでなんとかできました。 現在、下記のコードで新しいファイルは「マイドキュメント」に保存されていますが、元のエクセルファイルと同じ場所に保存したいのですが、どのようにコードを書けばよろしいでしょうか。 教えていただけますと幸いです。宜しくお願い申し上げます。 Sheets("TXT").Copy Sheets("TXT").SaveAs FileFormat:=xlCurrentPlatformText, Filename:="今月.txt" With Workbooks("今月.txt") .Saved = True .Close

妥協で決めた結婚
このQ&Aのポイント
  • 結婚相手を妥協する方法や妥協点の補い方について質問しました。
  • 婚活においても自分の望む条件を妥協して探す方法について考えました。
  • 妥協したお相手と結婚した方の妥協点とその補い方について話を聞きたいです。
回答を見る

専門家に質問してみよう