こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ファイル名を「任意のセル内容+指定した語句」にしたい

エクセルのファイル名を
「ある決まったセルに入力された文字」+「こちらで指定した語句」に出来ないかと思っています。
例)セルA1にある文字「100200-01」、指定した語句「注文書」
  結果「100200-01注文書」というファイル名がつく。
また、これを、保存先を指定しなく、それぞれ操作者が指定した保存先に保存することは可能でしょうか?
保存場所を任意で指定できないのであれば、
ファイルを保存する作業はしなくて、ファイル名だけつける処理のみでもよいです。「名前をつけて保存」のWINDOWが開いて、ファイル名欄にこちらの指定したファイル名が入った状態になるまでを自動化するというのでもいいです。
以上よろしくお願いいたします。

投稿日時 - 2006-08-24 13:52:51

QNo.2359272

困ってます

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

> ファイル名だけつける処理のみでもよいです。「名前をつけて保存」のWINDOWが開いて、ファイル名欄にこちらの指定したファイル名が入った状態になるまでを自動化するというのでもいいです。

組込ダイアログを使うのがいでしょう。
セルA1にある文字「100200-01」はSheet1にあるものとします。

Sub test01()
Dim x As String
x = Sheets("Sheet1").Range("A1").Value & "注文書"
Application.Dialogs(xlDialogSaveAs).Show arg1:=x & ".xls" '
End Sub

投稿日時 - 2006-08-24 14:22:05

お礼

さっそく試しましたところ一発でできました。
マクロの細かい仕組みについては、私には難しくってよくわかりませんが
コピーさせていただき無事完成いたしました。
本当に助かりました。ありがとうございました。

投稿日時 - 2006-08-24 16:56:41

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

早速マクロを改造したところを見ると、yshi1997様相当知識がおありですね。
#2様の回答がスマートでよろしいかと思いますが、いちよ補足しておきます。
改造非常に惜しかったです。
"C:\Documents and Settings\PA060300831\My Documents\100200-01注文書.xls"の部分を
"C:\Documents and Settings\PA060300831\My Documents\"&worksheets("ワークシート名を入れてください”).cells(1,4)&".xls" に置き換えてみてください。ちなみにcellsはcells(行番号、列番号)で使用します。(ご存知ですよね)

投稿日時 - 2006-08-24 16:26:30

お礼

いえいえ、私の知識はとってもうすっぺらなもので、自動書き込みのマクロにちょっと修正を加えられる程度ですので、すぐこのようにつまずいて誰かに頼らずにいらはいられないのです。しかし勉強になります。本当にありがとうございます。
確かに#2様の回答はとってもスマートでこれを採用するのがベストかと思います(今回は恐縮ですがそうさせていただきます)がtetnon2000様のやり方は私レベルでもマクロの組み立てがわかりやすく、大変ありがたかったです。ありがとうございました!!

投稿日時 - 2006-08-24 16:54:05

ANo.1

指定した語句というのは、エクセルシートに入力可能で、なおかつセルA1等と名称を結合したセルを使用してよいなら、マクロ記録を実行しておけば簡単にできると思います。
セルB1に「注文書」という言葉を入れておきます。セルc1に=A!&B1と入れると、結合した名称が表示されます。
ツールー>マクロー>新しいマクロの記録を選択。(マクロ名は適当な名称をつけてください。)
C1セルの内容をコピー。
D4セルを選択して形式を選択して貼り付けの値のみで貼り付け。
D4セル選択。セルではなく、上の数式バーのほうで値を選択しコピー。
ファイルー>名前をつけて保存を選択。
保存先のフォルダを選択。
ファイル名に先ほどコピーした内容を貼り付け。
保存。(保存までやらないとマクロの終了ボタンが押せないので)
マクロの記録終了ボタンを押す。

ちょっと目的とは違うかもしれませんが、試してみてください。
次回からはツールー>マクロー>マクロの先ほどつけたマクロの名前を選べば自動的に実行します。
またVBAの知識をお持ちであれば、記録したマクロを多少改造すれば、思うとおりのものにできるはずです。

投稿日時 - 2006-08-24 14:17:23

お礼

すばやい回答ありがとうございます。
ほうほうと思いながら、マクロの自動書き込みにて作成してみました。そうしましたところ、
<D4セル選択。セルではなく、上の数式バーのほうで値を選択しコピー。
<ファイルー>名前をつけて保存を選択。
<保存先のフォルダを選択。
<ファイル名に先ほどコピーした内容を貼り付け。
<保存。(保存までやらないとマクロの終了ボタンが押せないので)
<マクロの記録終了ボタンを押す。
数式バーのほうでコピーした値がそのままマクロの記録として残ってしまい、次回以降、セルの語句を変更してマクロを動かしても
ファイル名が固定してしまいます。
また、保存先も都度指定できません。
このままではちょっと使えそうにありません。

なにが打開策はあるでしょうか?
マクロ式は以下のとおりです(A1に任意の数字100200-01)、B1に「注文書」、C1に数式=A1&B1をいれました。)
Range("C1").Select
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "100200-01注文書"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\PA060300831\My Documents\100200-01注文書.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
(余計なものも含まれているかもしれませんがそのまま記載しました)

投稿日時 - 2006-08-24 15:39:48

あなたにオススメの質問