• ベストアンサー

エクセルで「名前を付けて保存」を自動的に名前を付けて保存したい

エクセルで「名前を付けて保存」をする時に自動的に名前を付けて保存が出来るように出来ないでしょうか。 エクセルで見積書を作成後に「名前を付けて保存」→「受注番号入力」をしているので、これを「名前を付けて保存」をクリックした時にファイル名を自動的に受注番号が入れば少しでも時間短縮が出来るかと思い、相談させていただきます。 自分なりに参考書などを読み、下記のようになると思ったのですが、出来ません。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SavaAsUI Then Application.EnableEvents = False Application.Dialogs(xlDialogSaveAs).Show _ Arg1:=Me.Path & Application.PathSeparator & Sheet(1).Range("A1").Value Application.EnableEvents = True Cancel = True End If End Sub シート1に見積書があり、シート2、シート3はありません。 「A1」のセルに受注番号が入っています。 これのどこがダメなのか教えてもらえませんか。 もし、他に方法があるのであれば教えていただけませんか。 ご無理申します。

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

  • ベストアンサー
  • htmcr
  • ベストアンサー率36% (11/30)
回答No.1

こんにちは。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.Dialogs(xlDialogSaveAs).Show _ Arg1:=Me.Path & Application.PathSeparator & Sheets(1).Range("A1").Value End Sub 上記でどうでしょう

derio
質問者

お礼

ありがとうございます。 試したところ、出来ました。 助かりました。

derio
質問者

補足

htmcr さん すみませんが教えてもらえませんか。 この通りに入力すると、上書き保存の時にも「名前を付けて保存」と出り、名前を付けて保存の時には2回出ます。 対処方法を教えてもらえませんか。 申し訳ありません。

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

既に解決しているかもしれませんがコモンダイアログを出さなくてもよいのではないでしょうか? Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  Application.EnableEvents = False  On Error GoTo end0  MsgBox "このブックを" & Sheets("Sheet1").Range("A1").Value & ".xlsとして保存します"  ThisWorkbook.SaveAs Me.Path & Sheets("Sheet1").Range("A1").Value & ".xls" end0:  Application.EnableEvents = True  Cancel = True End Sub

derio
質問者

お礼

お返事が遅くなり申し訳ありません。 いろいろな方法を教えていただき、ありがとうございます。

  • htmcr
  • ベストアンサー率36% (11/30)
回答No.2

たしかにそのままでは不便ですね では、VBAをユーザー設定ボタンから読み込む方式にしては いかがでしょう 'ボタンから呼び出すVBA Public Sub SaveBook() Application.Dialogs(xlDialogSaveAs).Show _ Arg1:=Me.Path & Application.PathSeparator & Sheets(1).Range("A1").Value End Sub これを記述して保存後、下記のサイトを参考にして このプロシージャを呼び出すボタンを作成してください。 ボタンによるマクロの実行 http://www.officepro.jp/excelmacro/run/index2.html

derio
質問者

お礼

お返事が遅くなり申し訳ありません。 大変助かりました。 まだまだ知らない事が多く、大変勉強になります。 ありがとうございます。

関連するQ&A