• ベストアンサー
  • 困ってます

Excel マクロで名前を付けて保存

Excel で NOW() 関数で表示させてあるセル(D1)があります。 このブックは、閉じる前に「名前を付けて保存」します。 そのときファイル名の後に D1 という文字を加える操作を、キー入力なしにマクロで行いたいのですが、どうしたらよいでしょうか。 教えて下さい。よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数513
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.3

> Dialogs.Show を行わず、直接保存させてしまう方法はないのでしょうか。 それなら、これでは? 今度はテストしたので大丈夫だと思います。 Sub test03() Dim x As String, fn As String, pt As String fn = ThisWorkbook.Name fn = Left(fn, Len(fn) - 4) pt = ThisWorkbook.Path x = Format(Sheets("Sheet1").Range("D1").Value, "h""時""mm""分""") ActiveWorkbook.SaveAs Filename:=pt & "\" & fn & x & ".xls" End Sub

共感・感謝の気持ちを伝えよう!

質問者からのお礼

merlionXXさん 巧くいきました。 ありがとうございます。

関連するQ&A

  • エクセルマクロで任意のファイル名をつけて保存したい

     エクセルVBAについての質問です。  エクセルのマクロで、Aというファイルを開いて、そのうち必要なワークシートだけを抽出し、新しいブックに移動し、その新しいブックを新しいブックのsheet1のセルC2の文字列をファイル名として保存するようなマクロをくみたいと思っています。  ファイルを開いて必要なワークシートだけを抽出し、新しいブックに移動するところまではできましたが、新しいブックのセルC2の文字列をファイル名として保存することができません。FNを変数として宣言して、C2の文字列を代入し、FNをファイル名として保存しようとすると、ファイルにFNという名前が付いてしまいます。どうすれば、C2の文字列をファイル名として保存できるのでしょうか。なお、保存するフォルダはc:\変換ファイル\6月です。どなたか教えてください。よろしくお願いします。

  • 自動で、名前をつけて保存

    エクセルブックの名前をつけて保存について質問です。 マクロを使用して、ブック名を「A1セル内の文字列+作成日(today関数セル)」という事は可能でしょうか?ご教授お願いします。

  • マクロの保存

    エクセルのマクロについて教えてください。エクセル2010でセルをダブルクリックすると、同一フォルダ内のPDFファイルデータを表示するというマクロを作ったのですが、保存する際に「次の機能はマクロ無しのブックに保存できません・VBプロジェクト~」と表示されExcelマクロ有効ブック(拡張しxlsm)に替えて保存するとマクロのコード自体は残っているのですが、Not find fileと出てしまいます。また最初からExcelマクロ有効ブックでコードを入力しても同様の結果になります。このような場合どのように保存すればいいのでしょうか?

その他の回答 (2)

  • 回答No.2

#1です。 x = Sheets("Sheet1").Range("D1").Value を x = Format(Sheets("Sheet1").Range("D1").Value, "h""時""mm""分""")  に変えてください。 そのままだとファイル名に使えない文字が入ってしまいます。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

D1 という文字を加える? D1に表示された日時を加えるのでしょう? D1がSheet1のセルだとして、 直接マクロを呼び出すなら Sub TEST01() Dim x As String x = Sheets("Sheet1").Range("D1").Value Application.Dialogs(xlDialogSaveAs).Show , ARG1:=ThisWorkbook.Name & x, ARG2:=1 End Sub Closeイベントで表示させるなら Private Sub Workbook_BeforeClose(Cancel As Boolean) x = Sheets("Sheet1").Range("D1").Value Application.Dialogs(xlDialogSaveAs).Show , ARG1:=ThisWorkbook.Name & x, ARG2:=1 End Sub

共感・感謝の気持ちを伝えよう!

質問者からのお礼

merlionXXさん ありがとうございました。

質問者からの補足

merlionXXさん ありがとうございます。 > ARG1:=ThisWorkbook.Name & x こうしますと、FileName.xls のあとに"x"が書き加えられ、拡張子が変わってしまいます。 それと、Dialogs.Show を行わず、直接保存させてしまう方法はないのでしょうか。

関連するQ&A

  • エクセルのマクロを使ってシートごとに名前をつけて保存したい

    マクロ初心者です。宜しくお願いします。 1つのブックにシートが複数あります。 それぞれシートをコピーして新しいブックを作成し そのブックに名前をつけて保存したいです。 例えばブック名が「売上管理」でそのシートが「A店」「B店」「C店」と3シートあるとします。 シート名:A店を他のブックにコピーしてマイドキュメントに名前を付けて 保存する場合のマクロを教えてください。 ちなみにその際のブック名は「シート名+任意のセル(D2)」と できれば一番助かります。 ちなみにD2のセルにはToday関数が入ってます。

  • エクセルで<名前をつけて保存>するマクロに、保存時マクロを含めて保存させることは可能ですか

    エクセル、マクロとも初心者です。 (VBAはわかりません) エクセルのテンプレートファイルを開いて、必要箇所だけ入力すると、その日の日付をファイル名として、<名前を付けて保存する>ようなマクロを作りました。 このままだと、マクロも一緒に保存されてしまいますよね。 マクロを含まずに、<名前を付けて保存>させるマクロって可能ですか? できるとしたら、どうやればいいでしょうか。

  • Excelで任意のセルのデータをファイル名に追加して上書き保存するマクロ

    Excelのブックが300個ほどあります。 現在アルファベット4文字のファイル名がついています。 このブックを1つずつ開き、任意のセル(ブックごとに異なる)を選択後ホットキーでマクロを起動し選択したセルの内容をもともとのファイル名に追加して名前を付けて保存したいのです。 例) 元のファイル名:bgf.xls 選んだセル:A4 A4の内容:あいうえお 新しく保存するファイル名:あいうえおbgf.xls 環境はwin2k、Excel2kです よろしくお願いします。

  • Excel 日付関数の値を固定値に

    Excel で NOW() 関数で表示させてあるセルがあります。 このブックは、閉じる前に「名前を付けて保存」しますが、別の日に開いたとき、もとの日付けのまま表示させるにはどうしたらよいでしょうか。 教えて下さい。よろしくお願いします。

  • Excelのマクロについて

    マクロの保存先を「開いているすべてのブック」にして、 A2~A32をいったん削除した後で、 1月1日から、1月31日を入力して、 最後にA2をアクティブセルにしておく、というマクロを作りました。 1/1と入力すると、普通、1月1日と表示されますよね? 同一ブック、同一シートないでしたら、そのように表示されるのですが、 同一ブック、別シートあるいは、 別ブックで、このマクロを実行すると、 2001/1/1と表示されます。 あとで、セルの表示形式を変えればいいんでしょうが、 この原因が、なぜ、そうなるのかが知りたいです。 (まだ、そのシート内以外だと、マクロが設定できない、 とかの方がわかるんですが。) また、 同一シートでなくても、 1月1日~1月31日の表示形式のままで、 設定できるマクロがあったら、あわせて教えてください。 作成しているファイルの、 バージョンは、Excel2002ですが、 マクロは、2000と変わらないと思うんですが・・・。 よろしくお願いいたします。

  • ExcelのVBAで名前を付けて保存

    ExcelのVBAで名前を付けて保存としたいのですが、ユウザーフォーム上のテキストボックスに保存する名前を入力したらコマンドボタンでブックが終了するマクロを教えてほしいのですが。 よろしく御教授願います。

  • エクセルマクロの保存

    エクセルのマクロについて教えてください。エクセル2010でセルをダブルクリックすると、同一フォルダ内のPDFファイルデータを表示するというマクロを作ってもらったのですが、保存する際に「次の機能はマクロ無しのブックに保存できません・VBプロジェクト~」と表示されExcelマクロ有効ブック(拡張しxlsm)に替えて保存するとマクロのコード自体は残っているのですが、Not find fileと出てしまいます。また最初からExcelマクロ有効ブックでコードを入力しても同様の結果になります。このような場合どのように保存すればいいのでしょうか? ちなみにコードは下記のようになります。 'Option Explicit 'Private Const pdfPATH As String = "D:\5678\" Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  Cancel = True  If Not Target.Value Like "*.pdf" Then Exit Sub  If Dir(pdfPATH & Target.Value) = "" Then MsgBox "File Not Found": Exit Sub  With CreateObject("Wscript.Shell")   .Run "" & pdfPATH & Target.Value & "", 3  End With End Sub

  • Excel 終了マクロ

    次のような「終了マクロ」を作りたいと思っています。 「終了」ボタン→「名前を付けて保存」(保存ブックは別名にする)→もとのブックの書替え→ 「(新ブック名)で保存されました」というメッセージボックス→「OK」ボタン→終了 (条件) 1.「終了」と「OK」のボタン操作以外は全自動、キー入力なしとします。 2.もとのブックの書替えは、次の2工程です。   (1)一つのセルの値を2値選択で入れ換え   (2)別の一つの行の数値を全てクリア (疑問点) 名前を付けて保存のとき、もとのブックは閉じられてしまうので困ったなと思っています。 まだ実験前なのですが、うまくいくのでしょうか。 教えて下さい。よろしくお願いします。

  • エクセルマクロの別名保存時のパス区切り文字

    エクセルマクロでセル内のパスとファイル名を繋げて別名保存したいと思ってます。 「/」と「\」のどちらを入力されるか分からないため 繋げたパスが「\\パソコン名/共有フォルダ名\ファイル名.xls」となるように入力した所"1004"のエラーが出ました。 デバッグした所 「ActiveWorkbook.SaveAs filename:=繋げたパス」 で落ちてました。 マクロを使わずに別名保存で「/」と「\」を使用した場合は保存されたのですが、なぜマクロだとエラーになってしまうのでしょうか? 入力されたパスの区切り文字をすべて「\」へ変更する処理を加えたので急ぎではないですが、どなたかご教授下さい。

  • エクセルで「名前を付けて保存する」マクロ

    エクセルのマクロに関して教えて下さい。 作成したエクセルの原稿を指定したフォルダに 「名前を付けて保存する」マクロを作成できればと思っています。 同じ名前で上書きなら問題ないのですが その都度違った名前で保存したい時に困っています。 名前の時だけ手動で入力するか 原稿の中に書いてある名前をコピーする方法でも良いです。 よろしくお願いします。