• ベストアンサー

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

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

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

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

保存時、以下のモジュールを参考にしてください。 '保存処理 Sub BookSave() Dim wBookPath As String Dim CopySheet As Worksheet Dim Sv_FileNm As String ' Sv_FileNm = Thisworkbook.Worksheets(1).Cells(1,1) & ".xls" '※<--入力セル wBookPath = Application.GetSaveAsFilename(InitialFileName:=Sv_FileNm, _ filefilter:="Excel ファイル (*.xls), *.xls", Title:="保存処理") ' Set CopySheet = Thisworkbook.Worksheets(1) CopySheet.Copy ActiveWorkbook.SaveAs FileName:=wBookPath, Password:="" ActiveWorkbook.Close savechanges:=False Thisworkbook.Worksheets(1).Activate End Sub 上記の「※<--入力セル」は任意なので、変更して使って下さい。

関連するQ&A

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

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

  • 【Excel VBA】セルに入力されている値と同じ名前のシートにデータをコピーする

    Excel2003を使用しています。 Sheet1のC2セル以下に入力されている値と同じ名前のシートに、その行のデータをコピーする作業をマクロで処理したいのですが、セルに入力されている値と同じ名前のシートを取得する方法がわかりません。 どのようにコードを書いたらいいのでしょうか? ちなみに、Sheet1のC2セル以下に入力されている値(=シート名)は、文字列(4桁の数字)です。 よろしくお願いします。

  • VBAで名前を付けて保存

    テキストファイルをエクセル出力する処理を考えております。 テキストファイルを開き、名前をつけて保存する処理が上手くできません。 シート1のある2つのセルに入力パスと出力パスが設定されているとします。 例えばcells(4,4)に入力パスが設定されており(¥~~~.txt) cells(6,4)に出力パスが設定されており(¥~~~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で「名前を付けて保存」ダイアログ

    プロシージャで、「名前を付けて保存」ダイアログを表示させて、[.csv]形式で保存するという記述をしたいのですが、うまくいきません。 望む手作業的プロセスは次のような感じです。 1.保存したいシートをアクティブにする 2.「ファイル」→「名前を付けて保存」 3.ファイル名を「サンプルエクスポート」と入力 4.ファイルの種類で「CSV(カンマ区切り)」を選択 こうすると、「選択した種類のファイルは複数の複数のシートを含むブックをサポートしていません。」注意メッセージがでるので、OKをして、次の注意メッセージもOKすると、数値データとしてのcsvファイルがアクティブシート分だけ出来ます。 これをVBAで再現したいのです。 以下、具体的な記述です。 ------------------------------ Sub エクスポートの実行() Dim 既定ファイル名 As String Dim 保存ファイル名 As Variant 既定ファイル名 = "サンプルエクスポート.csv" 保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名, "CSV(カンマ区切り)(*.csv),*.csv") If 保存ファイル名 = False Then MsgBox "保存は中止されました" Else ActiveWorkbook.SaveCopyAs 保存ファイル名 End If End Sub ------------------------------- ■上記の記述でうまくいかないのが、実際に保存された[.csv]ファイルに全てのシートが保存されていて、関数も入っているということです。実際に拡張子は[.csv]となって保存されていますが、中身は[.xls]となんらかわっていないように見えます。 構文が良くわかっていないのだと思うので、上記のプロシージャで具体的な修正方法を教えていただけると助かります。 要は、手作業ではなくVBAを利用してエクスポートデータを作りたいというのが目的です。

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

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

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

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

  • ダイアログボックスを表示させるマクロ

    こんにちは。 エクセルのマクロについて教えてください。 エクセルでA列に名前を入力する作業をしています。 入力作業中に、それまでに入力した名前と 重複した名前を入力しようとすると、 「重複しています」と ダイアログボックスを表示するマクロは どのように組めばよいのでしょうか? わかりづらい文章ですみません。 よろしくお願いします。  (A列) 1 高橋 2 田中 3 佐藤 4 太田 5 田中 ←←重複した名前を入力すると、        「 重複しています」とダイアログボックスが表示される。

  • エクセルVBAでワークシート関数のようにしたい

     例えば、セルA1に日付を入力して、セルB1に関数WEEKDAYが入力されていると、すぐセルA1の値を返してくれますが、これと同じことをVBAで再現したいのですが、可能でしょうか?  マクロやVBAでWEEKDAYを記述しても、「ツール」→「マクロ」→「マクロ」か「VBA」でやらないとA1の値をB1に返せないので、A1に日付を入力した瞬間、B1に値を返したいのですが、よろしくお願いします。

  • ダイアログボックスに自動的にセルの値を入れるには

    エクセルのマクロを実行したときに、「番号を入れてください」のダイアログボックスが出てくるのですが、その値がB1セルの値だとわかっているので自動的にB1セルの値を入れるようにするマクロ(VBEコード)がわかる方教えてください

  • 「上書き保存確認ダイアログ」を出すには?

    エクセル2000をベースにマクロ(VBA)を使って、ある技術計算をさせています。 セルに計算の元になるデータを手入力するのですが、 最終的には、その元になるデータをテキストファイルとして保存させているのですが、保存先に同じファイル名(エクセルの方ではなく、テキストファイル)があっても強制的に上書きされてしまいます。 同じ名前が合った場合は、上書き保存確認のダイアログを表示させたいのですが、どのようにすればよいでしょうか? 保存するのは、入力したデータのテキストのみで、エクセルのファイルは保存しません。

専門家に質問してみよう