• ベストアンサー

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

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

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> ファイル名だけつける処理のみでもよいです。「名前をつけて保存」の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

yshi1997
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.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(行番号、列番号)で使用します。(ご存知ですよね)

yshi1997
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

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

yshi1997
質問者

お礼

すばやい回答ありがとうございます。 ほうほうと思いながら、マクロの自動書き込みにて作成してみました。そうしましたところ、 <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 (余計なものも含まれているかもしれませんがそのまま記載しました)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

    エクセルのファイル名を 「ある決まった複数のセルに入力された文字」+「今日の日付」に出来ないかと思っています。 例えば   セルA1にある文字   AAAA   セルB1にある文字   BBBB   セルC1にある文字   CCCC   +今日の日付 の場合 結果のファイル名が「AAAA_BBBB_CCCC_070411(今日の日付)」というファイル名になるようにしたいです。 保存箇所は操作者の都合があるので、ファイルを保存する作業はしなくて、ファイル名だけつける処理のみを行いたいです。 複数のセルを挟むのは、アンダーバーで無くても良いですが、ブランク以外で各セルごとが異なっていることがファイル名でもわかるようにしたいと考えています。 以上 宜しくお願いいたします。

  • エクセルのファイル名を任意のセルの内容にしたい

    windows2000、Excel2000の環境です。 ファイル名が数字7桁のブックが約1000個あります。 このブックのファイル名をブックに含まれるセル(最大2つ)の文字列+元のファイル名の数字7桁にしたいのです。 マクロやVBで一括で変換する方法はありませんでしょうか? セルの指定は特定の個所ではなく、ブックごとに違いますので、ブックを1つずつ開いて指定する形になります。 よろしくお願いします。

  • VBAで、指定したセルの文字のPDFファイルを印刷したいのですが。

    VBAで、指定したセルの文字のPDFファイルを印刷したいのですが。 VBAの起動時に、指定したセルの文字をファイル名として読み取って、 そのファイル名のPDFファイルを自動印刷させたいのですが、 セルの文字を、PDFの起動パスにセットする方法が分かりませんので ご教授いただけませんでしょうか。 具体的にはこの様な処理を考えています。 A1セルの文字を、PDFのファイル名にします。 PDFファイルは、C:¥PDFファイル に保存されています。 A1に「てすと」の文字があれば、「てすと.pdf」が印刷されます。 お手数ですが宜しくお願いいたします。

  • 指定したセルでファイル名を保存するマクロについて

    マクロ初心者です。 A1セルの文字をファイル名にして保存する方法を知りましたが、A1セルとB1セルの文字をファイル名にして保存したい場合、どのようにすれば良いか分かりません。 A1セルに企業コード、B1セルに企業名です。 ファイル名を「請求書(13579いろは株式会社様)」としたいのです。 実際のマクロを一部抜粋しますが、下記の場合はファイル名は 「請求書(13579様).xls」となります。 Dim WS As Worksheet Dim fname As String fname = "C:\保存先\" & ("請求書(") & WS.Range("a1").Value & ("様)") & ".xls" どなたか教えて下さい。 どうぞよろしくお願い致します。

  • エクセルVBAで、任意指定のファイル名を取得する方法を

    教えて下さい。 ファイル(エクセルブック)を数個開いています。そのうち基本となるファイル(便宜上基本ファイルとします)は常に開いていて、後の数個の作業ファイルを開きます。(作業ファイルはその都度入れ替わり固定のファイルではありません)  基本ファイルを、アクティブな状態でエクセルVBAマクロを走らせます。 そのマクロ実行中に、『ある作業ファイルの任意のセル(任意のセル)をクリックして、そのファイル名とシート名とセルのアドレスとそのセルの値を取得』して、基本ファイルの任意のセル(例えば基本ファイルのsheet1のセルA2~D2に)に記入したいのです。 分かりにくい文で申し訳ないですが、特に上の『 』内の部分です。 どのようにマクロを記述すればいいのか分からないので、教えて下さい。宜しくお願いします。

  • 計算式で任意のセルを指定できるようにする

    うまく説明できるか自身ないですが…。 Excel2000で、ある計算式(変換式というべきか?)を作りました。 とりあえず、セルA1に数字を入力すると、セルA2に結果が出るように作成しています。(四則演算や、VLOOKUPを使った文字列操作などを複数のセルを介して行い結果を出しています) やりたいことは、最初のターゲットを任意のセルを指定できるようにしたい(計算式を関数のように使いたい)のですが、そんなことは可能でしょうか。

  • 指定文字「a1」~「a2」間の語句を全削除したい

    テキストファイル内の指定した文字「a1」~「a2」の間にある言葉を全部削除という処理ができるソフトはありますか? これを複数のテキストファイルに対して一括で処理したいです。 指定する文字「a1」と「a2」という語句はすべてのファイルに入っており、「a1」~「a2」の間に入っている語句はファイルによってバラバラです。 そこで、すべてのファイルに対して「a1」「a2」を指定して、その間にある語句のみ削除を一括で行うということがしたいのですが可能でしょうか? それができるソフトがあれば教えてください。

  • Excelで任意のセルのデータをファイル名に追加して上書き保存するマクロ

    Excelのブックが300個ほどあります。 現在アルファベット4文字のファイル名がついています。 このブックを1つずつ開き、任意のセル(ブックごとに異なる)を選択後ホットキーでマクロを起動し選択したセルの内容をもともとのファイル名に追加して名前を付けて保存したいのです。 例) 元のファイル名:bgf.xls 選んだセル:A4 A4の内容:あいうえお 新しく保存するファイル名:あいうえおbgf.xls 環境はwin2k、Excel2kです よろしくお願いします。

  • Excelマクロでエクセルファイルのファイル名を変更して保存、他

    Excel97のマクロを使用して以下の作業を実施したいのですが どなたかご教示お願い致します。 1.フォルダ内の複数ファイルから任意の一つのファイルAを開き、そのファイルA内の任意のセル(1A)の文字列をファイル名にして保存する。 2.あるファイルBを開き、ファイルB内のあるセル(1A)の"文字列が含まれるフォルダ"を検索してそのフォルダ内に保存する。 3.あるフォルダ(\1)内のあるファイルCを開き所要の作業を実施し閉じたあと、そのファイルCを別のフォルダ(\2)へ移動する。 4.あるフォルダ(\3)内のファイルDを開き、ファイルDのファイル名と同じ文字列を含むフォルダ(\4)を検索し、そのフォルダ(\4)内から、 ファイルD内のあるセル(1A)の文字列と同じファイル名のファイルEを検索して開く。 いくつも質問して真に厚かましいですが 解る物だけでも結構ですので 何卒、宜しくお願い致します。

  • ファイル名に含まれている任意の文字を一括して削除したい

    ファイル名に含まれている任意の文字を一括して削除したいのです。例えば、 IMG001 IMG002 IMG003 : : というようなファイルがあり、これらのファイル名から"IMG"という文字のみ取り除きたいのですが、手作業でやると思うと気が遠のきます・・。この作業をやってくれる便利なツールがあれば、教えてください!よろしくお願いします。

専門家に質問してみよう