• ベストアンサー
  • すぐに回答を!

エクセル2007 名前を付けて 保存 VBA(マクロ)

エクセル2007 名前を付けて 保存 VBA(マクロ) 今回もよろしくお願いします。 今回は作業終了時にファイルに名前を付けて自動保存させたいのですがうまくいきませんのでアドバイスお願いします。 ファイル名はセルの数か所にある文字、日付などを足してファイル名にしようとしています。 例えば A1 報告書 A2 2010/03/22 A3 パソコン と入っているとします。 ファイル名は ”報告書20100322パソコン”としたいのですが、日付の処理がわかりません・・・。 普通に表示させると”報告書40259パソコン”となってしまいます。 ネットでは20100322から2010/03/22の日付形式への変換の方法は多数見受けられるのですが、逆は未だ見つけられないため、投稿しました。 同じファイル名がある時は、ファイル名+(1)のようにファイル名がダブらないようにもしたいのです。 いつも、全て手打ちでやっておりエクセルファイル保存後、PDFファイルでも同じ名前で保存しているため、可能であればPDFでも保存出来ればうれしいです。 PDFはADOBE STANDARD8といきなりPDFを使用しています。 ご教授よろしくお願いします。

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

  • 回答数2
  • 閲覧数3318
  • ありがとう数7

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

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

sub 基本形() dim s as string, s1 as string dim n as long dim p as string p = "C:\folder\" '基本の文字列を作る with activeworkbook.worksheets("Sheet1") s = .range("A1").value & format(.range("A2").value, "yyyymmdd") & .range("A3").value end with 'ファイルの有無を調べてカウントアップする s1 = dir(p & s & ".xls") do until s1 = "" n = n + 1 s1 = dir(p & s & format(n, "(0)") & ".xls") loop '保存する activeworkbook.saveas filename:= p & s & iif(n = 0, "", format(n, "(0)")) & ".xlsm", fileformat:=xlOpenXMLWorkbookMacroEnabled end sub #どのブックを保存したいのかも,どのシートのセルを見ているのかも,どこに保存したいのかも,情報がありません。 #日付の文字列の整形が判らないから始まって,あれもこれもどれもそれもなんでもご相談に突っ込んで全部やって貰わないと気が済まないご相談だと,皆さんからもやっぱり引かれちゃいますよ?  適度に整理して,ステップバイステップで判らないところを明確にしてみてください。

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

質問者からのお礼

ご指摘ありがとうございます。いっぱいいっぱいになってしまって、あれこれとご質問した事をお詫びします。  おっしゃる通り頭も内容も整理してから投稿するよう注意致します。 ありがとうございました。

関連するQ&A

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

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

  • (VBA)特定のシートのみを名前を付けて保存

    Excel2003です。 数シートあるうちの特定のシートのみを別のbookとして「名前を付けて保存」する下記のコードを書きました。一応うまく動くのですが、実はこの特定のシートには行の非表示部分があります。しかし、下記のコードではもちろん非表示部分も開かれた状態で保存がされますよね。 この非表示の状態で保存するにはどのようにすればよいのでしょうか? 【以下現在のコードです】 ------------------------------------------------ Sub 名前を付けて保存() '報告書を"名前を付けて保存" Sheets("報告書").Select Dim 既定ファイル名 As String Dim 保存ファイル名 As Variant 既定ファイル名 = "報告書" 保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名, "Excel ブック(*.xls),*.xls") If 保存ファイル名 = False Then MsgBox "保存は中止されました。" Else With ThisWorkbook.ActiveSheet Workbooks.Add .Cells.Copy ActiveSheet.Range("A1") ActiveWorkbook.SaveAs 保存ファイル名, xlNormal ActiveWorkbook.Close False End With Sheets("報告書").Select Range("A1").Select MsgBox "報告書を作成しました。" End If End Sub ----------------------------------------------------

  • VBAを使って名前をつけて保存をしたい

    例えばデーター管理ファイルAというファイルの中にある 顧客データという名前のエクセルブックを開いて上書き保存をして、 データー管理ファイルBというファイルの中に顧客データ【1016】(1) という名前で(1016とは本日の日付を表しています)保存するとします。 この段階で、ファイルBの中に顧客データ【1016】(1)が入ってる事になりますが、再度本日二回目にAファイルの中にある顧客データをBファイルの中へ保存する場合顧客データ【1016】(2)という名称で保存して さらに本日三回目に同じように保存する場合は【1016】(3)というようにしたいのですが(もし明日保存する場合は、一回目は顧客データ【1017】(1)、二回目は【1017】(2)というように日付が変わると(1)から始めるようにしたいのですが)、VBAでどの様にしたらいいでしょうか?

その他の回答 (1)

  • 回答No.1
  • mimeu
  • ベストアンサー率49% (39/79)

Format$(Range("A2"), "報告書yyyymmdd") & ".XLS"

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

質問者からのお礼

回答ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • エクセル、VBAを使ってのファイル保存。

    エクセルでファイル(既存)を開いたら まず「名前を付けて保存」をして 新しく作ったファイルで作業を進めたいのですが 毎回保存のファイル名が変わるので 固定の名前での記述(VBA)が出来ません。 そこで、保存手前の段階である ダイアログボックスを表示させた状態で終わらせる というマクロは出来るのでしょうか? (保存先を決めたりファイル名を入力する状態) 色々試してみたのですが、どうにもうまく行かず… 皆さんの知恵をお借りしたいです。 宜しくお願いします。

  • EXCEL VBAで名前をつけて保存

    EXCEL2003でVBAを作成しています。 INPUTBOXに入力した名前でファイルを保存するVBAを 作成したのですが、 同じファイル名が既に存在していたときに、 エラーのメッセージを出すようなVBAはありますか?

  • Word 2016 VBA で保存できない

    仕事で月次報告をするのですが、報告書が Word のファイルであり、ファイル名のパターンが決まっているため、VBA でファイル名を生成し、VBA のコードで指定したパスにファイル保存させたいと考えています。 そこで、いろいろと調べて以下のコードを作ってみたのですが、保存する際に [実行時エラー 5152: ファイル名が正しくありません] と表示されます。 試しに以下のコードのうち、ファイルの保存先のパスと保存するファイル名を & でつなぎ Msgbox で表示したところ、ファイルの保存先とファイル名は意図したとおりに生成されています。 SaveAs メソッドに問題があるのではないかと考えていますが、ちょっとこれ以上は私では対処することができませんでした。 恐縮ですが、エラーを回避し、意図したパスに自動的にファイル名を生成して保存できるようにするためのコードを教えていただきたく思っています。よろしくお願いします。 以下は私が作成したサンプルです。 ------------------------------------------------- Sub 保存() 'レポート対象月の取得 dtDate = Format(Date, "yyyymm") '保存先フォルダーの指定 dtSaveFolder = "C:\Users\UserName\Documents\" & Year(Date) & "\" 'ファイル名の指定 dtSaveFileName = "XXXX" & dtDate & "YYYY.docx" '保存の実行 ThisDocument.SaveAs FileName:=dtSaveFolder & dtSaveFineName, FileFormat:=wdFormatDocument End Sub -------------------------------------------------

  • 1つのPDFファイルを違う名前で大量保存

    1つのPDFファイルをエクセルのリストに基づき 管理NOをつけて名前をつけて保存をしたいのですが エクセルのマクロでできますでしょうか。 A.pdf→管理Noつきの11111_A.pdf、22222_A.pdfのように複数作成 PDFのファイル名に関しては エクセルのA列に下記のように記載 A列 ファイル名(1行目は見出し行) 11111_A.pdf 22222_A.pdf ↓ リストは250行ほどあり、1つのA.pdfを指定したフォルダに別名で250個保存したい。 マクロは超初心者で、指定したPDFファイルを開くことはできたのですが エクセルのリストに基づいてPDFファイルの保存ができませんでした。 どなたか教えていただけると嬉しいです。

  • 【名前を付けて保存】について

    以前、同じような内容で2回質問をさせて頂いたのですが、未だ解決していないので・・・ご存知の方がおりましたらよろしくお願いします。 現在、Windows XPを使っています。 ExcelやWord、PDFなどのファイルをPCに保存するときのことについて教えてください。 「名前を付けて保存」でファイル名を書き込む際に、以前は“先頭から途中まで同じ語句のファイル名”がすでに存在する場合、文字を入力していくと重複しているファイル名の一覧(?)のようなリストでズラっと出てきたのでファイル名の一部だけ変えて名前を付けるのが楽だったのですが、いつの間にかそのリストが表示されなくなってしまいました。 例)『*****仮資料.pdf というようなファイル名がすでにあって、新しく作ったデータを *****本資料.pdf という名前にしたいとき、いちいち先頭から全部を書き込むのではなく、最初の「*」を入力した時点で「*****仮資料.pdf」というのを一覧に表示させたい』 要は、途中まで同じ名前のファイル名があれば、ちょっとでも楽に入力ができたらいいな。ということなのです。 説明がややこしくなってしまいましたが、以前のように表示させる方法をご存知でしたら教えてください。 よろしくお願いします。

  • アウトルックのVBA添付ファイルの保存について

    アウトルックのVBAについて、 受信と同時に添付ファイル(Excel)をフォルダに自動保存したいのですが下記条件があります。 1.添付ファイル名:*A日報* (「A日報」を含むファイル名)   差出人:Aさんのみ   フォルダ;デスクトップの「Aさんの日報」フォルダ 2.添付ファイル名:*A議事録* (「A議事録」を含むファイル名)   差出人:Aさんのみ   フォルダ;デスクトップの「Aさんの議事録」フォルダ 3.添付ファイル名:*B日報* (「B日報」を含むファイル名)   差出人:Bさんのみ   フォルダ;デスクトップの「Bさんの日報」フォルダ 4.添付ファイル名:*B議事録* (「B議事録」を含むファイル名)   差出人:Bさんのみ   フォルダ;デスクトップの「Bさんの議事録」フォルダ 5.添付ファイル名:*B報告書* (「B報告書」を含むファイル名)   差出人:Bさんのみ   フォルダ;デスクトップの「Bさんの報告書」フォルダ http://q.hatena.ne.jp/1218725545の方と良く似ているのですが、 同一人物から、ファイル名で保存先を変える方法がどうしても分かりません。。。 どうかよろしくお願いします!!

  • ファイルの保存先「¥¥」はどこ?

    互換性のない業務用のパソコンソフトを使用しており、データを PDFデータとして保存できますということで保存しました。 Adobe Readerのソフトを使用しておりますが、ファイルを開くと 下の方に履歴が表示されますが、\\...\作ったファイル名と出てきます。 c\ファイル名ならばCドライブとわかるのですが、\\というのは どこを指定しているのでしょうか? Adobeソフトの方では保管先はMyDocuments\*pdfと指定されている ようですが、そもそも私のパソコンにMyDocumentsなる名前のフォルダ が存在しておりません。 宛先不明が\\...\なる表示になるのでしょうか? また検索からファイル名を入れてみましたが、ヒットしません。 どこか隠しファイルとなっているのでしょうか? \\...\の意味とこの場合のファイルの探し方を教えてください。

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

    名前を付けて保存画面を表示して、自分でファイル名を入力して保存をしたいのですが、 以下で名前を付けて保存画面は表示されますが、 実際に保存をクリックしてもファイルが作成されませんでした。 保存されるVBAを教えてください。 Sub test() Save_Filename = "c:\" Save_File = Application.GetSaveAsFilename(Save_Filename, _ FileFilter:="Excelファイル,*.xls") End Sub

  • PDFの名前が変えられない

    スキャナーで取り込んだPDFファイルを名前を付けて保存しています。 ある時から、ファイル名の最後にすべて「pdf」と追加されていて、 名前を変更しようとすると、「拡張子を変更できません」というエラー出て、 ファイルが不明アイコンに代わってしまいます。 名前にpdfを追加すれば済むことなのですが、今までは付けなくても 保存していたので、何が起きたのかと思っています。 バージョンは9です。よろしくお願い致します。

  • 名前を付けて保存時のファイル名(Excel2000VBA)

    通常、名前を付けて保存をする時、新規ですと「book1」既存ファイルですと保存されたファイル名がディフォルトで表示されますが、この表示を「シート名」に変更することは出来ないものでしょうか?マクロボタン等を利用して同様の機能は作成できますが、できるなら「通常の名前を付けて保存」を選択した際に表示されるファイル名をシート名にしたいのです。 どうかよろしくお願いします。