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

VBA ダイアログボックス 名前をつけて保存

お世話になります 「概要」 名前を付けて保存時に決まった文字とセル値を取得して保存させたいのですが可能ですか? 「説明」 「これは様式」は毎回決まった値で 「01」はセルA1から取得した値です 「です」は毎回決まった値です 保存後は下記になります これは様式01です.xls わかる方、よろしくお願いします

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

  • 回答数2
  • 閲覧数663
  • ありがとう数0

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

  • ベストアンサー
  • 回答No.2
  • pkh4989
  • ベストアンサー率62% (162/260)

こんにちは。 名前をつけて保存するダイアログボックス表示及び、保存ボタンを押すと取得ファイル名で保存されます。 Sub 名前を付けて保存()   Dim fnm   As String   '   fnm = "これは様式" & ActiveSheet.Range("A1").Value & "です.xls"   fnm = Application.GetSaveAsFilename(InitialFileName:=fnm, _            filefilter:="Excel ファイル (*.xls), *.xls", Title:="名前を付けて保存")   If fnm <> "False" Then     ActiveWorkbook.SaveAs Filename:=fnm     'ActiveWorkbook.Close   End If End Sub

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

関連するQ&A

  • 名前を付けて保存

    Win-me Excel2000です。 Excelで名前を付けて保存するときに ファイル名がBook1.xlsになっていますが 保存するときにBook1.xlsではなく セルA1の文字が自動で入っているにはどうしたらよいですか。 何か、説明が悪いですけど。 保存するたびにファイル名をつけなくてはいけなくて B00k1では後で、開くときに内容がわかりにくくて、 A1セルの文字がファイル名でいいものですから。

  • VBA 名前を付けて保存(ダイアログBOX)

    いつもお世話になります 処理 (1)セルへ値等入力 ↓ (2)セルの値を名前にして 名前を付けて保存する ↓ (3)クリアにする ↓ (1)からスタート 上記の繰り返し作業をしたいのですが 名前を付けて保存した瞬間にマクロもその名前で 保存されているらしく繰り返し作業がうまくいきません どなたか分かる方おねがいします

  • エクセル VBAによる名前を付けて保存?

    エクセルのVBAにて名前(本日日付&NO.)を付けてブックを保存 したいのですが下記のように書込作成しました。 ActiveWorkbook.SaveAs _ Filename:="C:\発注書\" _& "発注済" & Format(Date, "mm.dd")   & "(" & ".xls" 上記で 発注済(  までの名前を付けの保存は出来たのですが (  のあとに発注書シート内のセルU12にあるNOを入れたいのですが 色々試してみましたがコンパイルエラーが出てしまいます。 セルをどの様に指定すれば宜しいでしょうか?

その他の回答 (1)

  • 回答No.1
  • Neko4x
  • ベストアンサー率52% (27/51)

VBA上から「名前をつけて保存」ダイアログを表示するのでしたら With Dialogs(xlDialogSaveAs) .Name = "これは様式" & Range("A2").Value & "です.xls" .Show End With のような形でいけませんか? (現在Officeが入っていない環境なので、試してませんが…)

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

関連するQ&A

  • EXCEL2000でのVBAについて

    お世話になります。 EXCEL2000のVBで下記のことをしたいのですが、うまく出来ないところがあり対処方法を教えて頂きたいです。 (1)アクティブブックの名前を取得   (2)ブックのセルA1の値を取得 (3)保存ダイアログでA1の値をファイル名にし保存 (4)保存したファイルを閉じる (5)基のアクティブブックを再度開く 以上です。 今できていないのは(1)と(5)です。 基のアクティブブックの名前をプログラム上に直接入力する分には出来るのですが、 ファイル名が変更になった時に、いちいちVBを書き換えるのが面倒なだけです… コードを提示しますので、ご教授願えればと思います。 Sub 保存() Dim ファイル名 As String, フォルダ名 As Object, フォルダ選択 As Object, ファイル名2 As Workbook Set ファイル名2 = ActiveWorkbook ファイル名 = Range("A1").Value Set フォルダ選択 = CreateObject("Shell.Application") Set フォルダ名 = フォルダ選択.BrowseForFolder(0, "保存フォルダを選んでください", 1) ActiveWorkbook.SaveAs Filename:=フォルダ名.items.Item.Path & "\" & ファイル名 & ".xls" MsgBox ファイル名 & ".xls", vbOKOnly, フォルダ名 & "に保存しました" Workbooks.Open "C:\test\" & ファイル名2 Workbooks(ファイル名 & ".xls").Close End sub ファイル名の取得が間違っていると思うのですが、ネットなどで調べてみましたが、よくわかりませんでした。

  • Excel2010VBAで名前を付けて保存

    Windows XP + Excel 2010 の際、社内の定型ドキュメントを保存する際、以下のようにして [名前を付けて保存] ダイアログを表示し、ファイル名ボックスに FileName 変数の値を入れておりました。 Dim FileName As String (中略) FileName = xxxx & yyyy & zzzz (<--- xxxx、yyyy、zzzz は毎回値が変化するので、別の変数を使用して値を取得しています) SaveFileName=Application.GetSaveAsFilename(InitialFileName:=FileName) If SaveFileName <> "False" Then ActiveWorkbook.SaveAs Filename:=SaveFileName, FileFormat:=xlOpenXMLWorkbook MsgBox "このブックを保存しました。" Else MsgBox "保存がキャンセルされました。" End If End Sub しかし、Win7Pro+Excel2010 のマシンにリプレイスし、同一の vba を動かしますと [名前を付けて保存] ダイアログでファイル名が空白になり、FileName 変数の値を取得してくれなくなってしまいました。 なお、SaveFileName 以降の文字列をコメントアウトし、SaveFileName の直前で Msgbox FileName を 実行すると、意図したとおり FileName 変数が働き、ファイル名を取得してくれています。 また、InitialFileName 以降の文字列を固定値にする ("" で囲む) と、InitialFileName で指定した文字列を取得して [名前を付けて保存] ダイアログを表示します。 OS の変更に伴うこのような動作の変更の差異が何にあるのかわかりません。 Win7+Excel2010 の環境で、以前と同様、[名前を付けて保存] ダイアログを表示した際、変数で取得した値をファイル名ボックスに自動的に挿入するコードを教えてください。 よろしくお願いいたします。

  • excel2003の vbaの名前定義について

    excel2003の vbaで、名前定義した範囲から、任意のセルの値を抜き出したいです。 例えば、Aという名前定義した範囲があるとします。 AはA1セル&#65374;A10セルの範囲です。 そして、たとえいばA3セルの値を取得したい場合。 名前定義した範囲を使ってどのように表現すればよいでしょうか?

  • 他ブックのセル参照するのに名前をセルで指定して参照させたい。

    他ブックのセル参照するのに名前をセルで指定して参照させたい。 題名が適当でないかもしれませんが、よろしくお願いします。 オフィス2000もしくは2002です。 200604.xls、200605.xlsという日付を基にした名称の規則的なブックがあります。 ファイル自体はネットワークの共通ドライブにあります。 それぞれsheet1に同様の形式で値のデータ(文字)が入っています。 その中のA1、B1、C1~・・・の値を 別ブック(仮にtest.xls)のA1に2006、A2に5と入力させることによって test.xlsの3行目に200605.xlsのA1、B1、C1~・・・の値を表示させたいです。 ブック名 test.xls    A列  B列  C列 ・・・・・・ 1行 2006 2行  5 3行 200605.xlsのA1、B1、C1~の値を表示させたいです。 4行 フォルダー名\[200605.xls]sheet1'!A1、次B1、次C1、と都度埋め込んでいけば値自体は出るのですが、 ブック名が手軽に変えられなくて困っています。 test.xlsのセルに埋め込んだ ='フォルダー名\[200605.xls]sheet1'!A1の [カッコ内]の文字をA1,A2セルに入れた値で参照させたいのですが、、、。 (A2は5ですが、参照したいのは2006の05というのも少々ミソです) 結果が同じなら手段はそんなには問いません。 よろしくお願いします。

  • 参照について質問です。

    A.xls と B.xls の二つのファイルが有るとします。 [A.xls の Sheet1 のセルA1] に [B.xls の Sheet1 のセルA1]の値を持ってくる時には、  =[B.xls]Sheet1!A1 と入力しますよね? ここからが質問なのですがA,B以外にもC&#65374;Zとゆうファイルがあったとします。 [A.xls の Sheet1 のセルA2&#65374;A26] に [B.xls&#65374;C.xls の Sheet1 のセルA1]の値を持ってくる時にはどうすればいいのでしょうか? 上手く説明出来ていないかもしれませんが教えていただけたら幸いです。 ちなみになのですがB.xls&#65374;Z.xlsの名前部分は0609とゆう具合の日付の名前になっています。

  • 指定したセルでファイル名を保存するマクロについて

    マクロ初心者です。 A1セルの文字をファイル名にして保存する方法を知りましたが、A1セルとB1セルの文字をファイル名にして保存したい場合、どのようにすれば良いか分かりません。 A1セルに企業コード、B1セルに企業名です。 ファイル名を「請求書(13579いろは株式会社様)」としたいのです。 実際のマクロを一部抜粋しますが、下記の場合はファイル名は 「請求書(13579様).xls」となります。 Dim WS As Worksheet Dim fname As String fname = "C:\保存先\" & ("請求書(") & WS.Range("a1").Value & ("様)") & ".xls" どなたか教えて下さい。 どうぞよろしくお願い致します。

  • VBA 名前定義の参照について

    設定している名前定義を参照したいと思っています。 名称:タイプ 値 A1:サンプル1 A2:サンプル2 A3:サンプル3 A4:サンプル4 A5:サンプル5 と、設定されている場合に、これをVBAから (1) 「タイプ」という名前定義にいくつの値が設定されているのか (2) 「タイプ」という名前定義で設定されている個々の値 を取得したいと思っていますが、 調べてみても「定義されている名前の値」や 「定義されている名前の個数」の取得や削除の方法ばかりで 良く分かりませんでした・・・ ちなみに .Names("タイプ").Value で、設定セルの範囲は取得できます。 そこから、セルの値を直接見ることによって参照するものなのでしょうか?

  • VBAでi行j列ずれたセルの値

    VBAでセルA1にTESTという名前を定義しているとします。 セルA1はRange("TEST")で値を取得できますが、 セルA1からi行j列ずれたセルの値はどうやって取得できるのでしょうか? 今までは、Cells(1+i,1+j)で取得していましたが、 行や列を挿入することもあるので、セルに名前を付けたいと思います。

  • VBAで名前を付けて保存

    テキストファイルをエクセル出力する処理を考えております。 テキストファイルを開き、名前をつけて保存する処理が上手くできません。 シート1のある2つのセルに入力パスと出力パスが設定されているとします。 例えばcells(4,4)に入力パスが設定されており(¥&#65374;&#65374;&#65374;.txt) cells(6,4)に出力パスが設定されており(¥&#65374;&#65374;&#65374;xls) 上記のような状態とします。 cells(4,4)にあるテキストファイルを開き、 それを拡張子をエクセルにしてcells(6.4)にある出力先に名前をつけて保存をしたいのです。 オープンする場合は Workbooks.OpenText Filename:=Workbooks("○○.xlsm").Sheets(1).Cells(4, 4).Value & ".TXT" で上手くいきました。 しかし保存の際に ActiveWorkbook.SaveAs Filename:=Sheets(1).Cells(6, 4).Value & ".xls" で実行するとエラーがでてしまいます。 どうすれば良いでしょうか。

  • (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 ----------------------------------------------------