名前をつけて保存にセルの文字列を入力するマクロ~Application.Dialogs(種類).Show

名前をつけて保存する3行マクロ

例えば、A1セルの文字列などを「名前を付けて保存」するときの名前にするマクロ

名前をつけて保存する3行マクロ

3行マクロ 3回

名前をつけて保存にセルの文字列を入力するマクロ

新規の表を作成したりすると、必ず、「名前を付けて保存」をするわけですが、 この保存画面のファイル名のところに、 たとえば、A1セルの文字が自動表示されれば、保存が楽だと思う人は結構多いのではないでしょうか。

(サンプルファイルは、こちらから 3行マクロ3回サンプルデータ
Excelバージョン:Excel20192016201320102007

名前をつけて保存にセルの文字列を入力するマクロ

そこで、今回は「名前をつけて保存にセルの文字列を入力するマクロ」を作成してみましょう。
この操作をマクロの自動記録でやったことがある方は、すでにご存知だと思いますが、保存画面を開く操作自体は記録されません。
なぜかというと、
マクロの自動記録は、操作の『結果』を記録するものなので、「保存画面を開く」という途中の操作は記録されないのす。

保存画面を開く命令は、自分で『入力する』必要があるのです。

Application.Dialogs(種類).Show 

A1セルをファイル名にするマクロを実行すると、
A1セルの文字列が自動的にファイル名に記入されています。保存が楽です。
(1)マクロを使って各種設定画面を開くには、
Application.Dialogs(種類).Show」という命令を書きます。

「種類」には設定画面の名称を指定します。
ここでは、保存画面を開きたいので、
xlDialogSaveAs」を使います。

(2)さらに「A1セルの文字列を『ファイル名』欄に表示する」という引数を
Arg1」として加えます。
(3)選択セルの文字列をSheet名にするマクロコード。
Sub A1セルをファイル名にするマクロ()
   Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("A1").Value
End Sub
(4)前号から紹介しているような、エクセルの標準機能のように、どのファイルでも自由に使いたいマクロは「個人用マクロブック」に保存するのが、良いのです。
サンプルを入手したり、直接メルマガからコピーしたりした場合は、「個人用マクロブック」に保存し直すことにしましょう。

こちらもおすすめ