名前を付けて保存ダイアログにアクティブセルの値を表示するマクロをご紹介しました。
似たようなことですが、実務ではアクティブシートの名前をファイル名にして保存するといったこともあります。
そのため、[名前を付けて保存]ダイアログの[ファイル名]に、アクティブなシートの名前がデフォルト表示された状態で[名前を付けて保存]ダイアログが表示したい、といった要望をいただくこともあります。
これも、VBA(Visual Basic for Applications)でマクロを作成して、ショートカットキーをマクロに割り当ててはいかがでしょう。
Sub DispSaveAsDlg_ActiveSheetName()
Application.Dialogs(xlDialogSaveAs).Show Arg1:=ActiveSheet.Name
End Sub先日ご紹介したマクロと違うのは、
「Arg1:=ActiveCell.Value」
が
「Arg1:=ActiveSheet.Name」
となっていることです。
マクロにショートカットキーを割り当てるのは前回同様ですが、今回は[Shift]+[F12]キーに「DispSaveAsDlg_ActiveSheetName」マクロを割り当ててみます。
Private Sub Workbook_Open()
Application.OnKey "+{F12}", "DispSaveAsDlg_ActiveSheetName"
End Sub上記のように「"+{F12}"」と指定することで、[Shift]+[F12]キーで「DispSaveAsDlg_ActiveSheetName」マクロが実行できるようになります。
▼サンプルファイル(002696.xls 37KByte)ダウンロード
サンプルファイルには今回ご紹介したコード、先日のアクティブセルの値を表示するコード、マクロにショートカットキーを割り当てるコードを入れてあります。
任意のセルにデータを入力して[F12]キーを押したり、シート名を変更して[Shift]+[F12]キーを押してどうなるかをご確認ください。
Home » エクセルマクロ・Excel VBAの使い方 » Dialogオブジェクト » 名前を付けて保存ダイアログにアクティブシート名を表示するマクロ