• ベストアンサー

エクセル A1の内容を ファイル - 名前を付けて保存 のとき自動入力するには?

基本のファイル名は ABCです。 セルA1は 56赤 とあります。 このとき ファイル - 名前を付けて保存 でファイル名を 56赤ABC としたいです。 今は、ファイル - 名前を付けて保存 としたとき、ABC と出るので その左に自分で 56赤 と入力して、56赤ABC としてます。 これをマクロとかを使って、ファイル - 名前を付けて保存 のときに セルA1 ファイル名 と自動で出て欲しいのですができますか?

  • jufu
  • お礼率7% (28/376)

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 最初に、ファイルをどのように作っているかが問題だと思います。以下のコードですと、Application の扱い方が変わります。Application側にインスタンスを設けるか、それとも、ボタンだけでよいのかが分かりません。既存のブックがある場合と、そうでない場合、新規ブックの場合ではコードが変わります。以下は、単にボタンにインスタンスを設けただけで、解除方法は書かれていませんが、解除の方法は、単に、Set ClassButton =Nothing でよいです。 >ファイル - 名前を付けて保存 のときに >セルA1 ファイル名 と自動で出て欲しいのですができますか? たとえば、このようになります。 挿入-Class モジュール 名前は変更しないでください。Class1 です。 Private WithEvents NewBtn As Office.CommandBarButton Public Property Set myNewBtn(ByVal myBtn As CommandBarButton)  Set NewBtn = myBtn End Property Private Sub NewBtn_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)  Dim FileName As String  Dim KeyWord As String  Dim Ret As Integer  If ThisWorkbook.Worksheets("Sheet1").Range("A1").Value <> "" Then   KeyWord = ThisWorkbook.Worksheets("Sheet1").Range("A1").Value   FileName = "ABC" & KeyWord & ".xls"   Ret = Application.Dialogs(xlDialogSaveAs).Show(FileName)   CancelDefault = True  End If End Sub 標準モジュール 'Option Explicit Private ClassBtn As New Class1 Sub SetClass() With Application  Set ClassBtn = New Class1  Set ClassBtn.myNewBtn = .CommandBars("Document").FindControl(, 748) End With End Sub Sub Auto_Open()  Call SetClass End Sub

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Sheet1のA1に「ABC」を入力しておきます。 標準モジュールに Sub test01() Application.Dialogs(xlDialogSaveAs).Show arg1:=Worksheets("Sheet1").Range("A1") End Sub を貼り付け実行します。 おなじみの「名前をつけて保存」のダイアロウグ画面が出て、 ファイル名の欄が「ABC」になって、待機状態になります。 ここに左に「56赤」を入れる、という方法を考えてはどうですか。 左に入れるというのが、奇異な暗示だし、ファイル名全体を上記コードの前に作ってしまうのが普通科と思いますが。 a=Inputbox()ででも「56赤」の部分をとれば、 arg1:=a & "ABC" で確認採用方式ができます。「保存」ボタンをクリックする必要あるが。 それを嫌うなら、ActiveWorkbook.SaveAs ファイル名 で良いのでは。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

SaveAs メソッド を使います。 使い方はヘルプをご参照ください。

関連するQ&A

  • エクセル保存時に自動で日付

    お世話になります。 エクセル2003で保存するときに、 ファイル名の頭に、あるセルの日付を毎回打たなくても自動でつけることってできますか? マクロでもかまいませんが。 たとえばA1に061212と入っていたら、 そのブックを保存するときに、061212 業務日報って自動で保存時の名前に出るように なるでしょうか?

  • 複数ファイルの同じ位置のセル内容を、それぞれファイル名・シート名にして保存したい

    VBA初心者ですが、いろいろなQ&Aを検索して、やりたいことの解決方法を模索しているのですが、私の疑問にドンピシャの回答が見つからず悩んでいます。 目的は、あるフォルダ内の、複数のランダムなファイル名のエクセルファイルについて、それぞれのファイルを開き、アクティブシートのA1セルの入力内容に基づき、そのシートの名前を変更し、ファイル名も変更して保存するという作業です。(例えば、A1に「山田」と入っていたら、シート名も「山田」にして、「山田.xls」で保存する。) マクロの自動作成で、例えば「A」というファイルは開いてシート名を変え、ファイル名を付けて保存するくらいのことはできるのですが、ファイル名がランダムに代わったり、ファイル数が複数になるとできません。 このようなマクロを作ることは可能なのでしょうか?。 よろしくお願いいたします。

  • 名前をつけてエクセルで自動で保存

    質問させていただきます。  エクセルで名前をつけて自動で保存するマクロか、もしくは他のやり方でも構いませんが、以下を作りたいと思います。  (1)スキャナーで10枚読み込んだとします。  (2)そのうちの1枚の画像を画面の左上ピッタシに合わせて他のエクセルのシートのA1の入力値を名前にして、保存します。  (3)(2)を2枚目以降同じ要領で二枚目はA2を名前に、3枚目はA3の・・・と繰り返し、図がなくなったら止まることをしたいのですが・・・  どのようにしたらよろしいでしょうか? :補足:  素人ですので、質問文がわけのわからないものになっています;よろしくお願いいたします。

  • Excelマクロのファイルを名前を付けて保存について

    Excelマクロの初心者です 保存方法についてわからなくて困っています。 雛形となるファイルがあります。 これにデータを貼り付けて、名前を付けて保存をしたいです。 ただ、この保存は、あるマクロに設定した動作の一部となります 個人の教科別点数データが入力してあるファイルAがあります。一人に付き1列で記入されています。 別のファイルBには、個人別成績表ファームを作成してあります。 ファイルAをファイルBにコピーして、個人の名前でファイルを保存する マクロを作成しています。 今、一列分(一人分)のデータをコピーして名前を付けて保存ができました。 次に、ループで、教科別点数データの次の列に移ろうとすると、デバックしました。ファイルBがないとのことです。 名前を付けて保存したから、名前が変わってしまったのでそのためでしょうか。 ファイルを開けたまま操作を進めているからいけないのでしょうか? どうしたら、元となるファイルにデータをコピーして、次々名前を付けて保存をしていけますでしょうか? OJTで勉強していけばいい、と言われ基本的なこともよくわからずに行っているので、はずかしいですが、教えてください。 お願いします。

  • エクセルで「ファイル保存名」を自動作成したい

    エクセルで、複数の店舗で使用する「販売日報」を作成しております。 各店舗からいただくこの日報は別のシステムで取り込みを行う為、 ファイル名を統一する必要があり、店舗側で勝手にファイル名を作成 できないように、例えば、日報のエクセルのシート内に「ファイル保存」 ボタンを作成し、ファイル名を自動作成するマクロを登録したいと思って おりますが、マクロはほとんど分からず、いいアイデアが浮かびません。 どなたかお知恵をお貸しいただけないでしょうか? ■ファイル名は、下記のように「販売日報」を先頭にして店舗名_保存日_ 保存時間の体裁を考えてます。  ファイル名:販売日報_(店舗名)_(日付)_(時間)   ※(店舗名)は販売日報(エクセル)内で「A1セル」など固定した    場所に入力されており、その値を参照したい。   ※「日付」「時間」も自動作成したい。 うまくお伝えすることができませんが、イメージとしては「ファイル保存」 ボタンを押すと、エクセルで左上の「ファイル」-「名前を付けて保存」 を押した際に表示される「保存先を選択する画面」が表示され、ファイル名 には、『販売日報_(店舗名)_(日付)_(時間)』が既に表示されている、 といった具合です。 いろいろネットを介し調べましたが、ぴったりのものがなく悩んでおりました。 何卒宜しくお願いいたします。

  • エクセル:自動保存の方法:sheet1の「A1」の文字をファイル名に(2)

    私のNo.2042239 質問に関係しますが、次のケースについても教えてください。 ◆「sheet1のセルA1に  =”ファイル名”&TEXT(NOW(),"yymmddhhmm")」 と入れています。これによりブックを閉じるときにバックアップ用フォルダにセル「A1」に表示される文字をファイル名として自動保存をしたいのです。 ◆「No.2042239」との違いは、今回はネットワークの別のパソコンではなく、『自分のパソコン』の任意のバックアップ用フォルダに自動保存したいことです。 ※(「No.2042239」のご指導では、sheet1のセルA1に 「TEXT(NOW(),"yymmddhhmm")」は不要とのことでした。) 以上のことについてご指導お願いいたします。「No.2042239」より基本的なことなので、自分でできると思いきやできませんでした。初心者ですので、わかりやすくお願い申し上げます。

  • エクセルで、ファイル内に入力した日付を、保存時のファイル名に反映したい

    エクセルで、ファイル内に入力した日付を、保存時のファイル名に反映したい。 お世話になります。請求書の作成・保存を効率よくしたいと考えています。 例:作ったファイルの、ある特定のセル(日付を入力)で平成22年6月と表示された状態で名前をつけて保存をクリックすると、ファイル名の欄に自動的に2206・・と反映され、なおかつ、自分の言葉で現場名などを入力して2206グーマンション・・という風にして保存したいです。もっというと、保存先のフォルダも自動的に2206フォルダとかに入るようにできないでしょうか?? 詳しい方、教えていただけるとありがたいです・・!お願いします

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

    エクセルで「名前を付けて保存」をする時に自動的に名前を付けて保存が出来るように出来ないでしょうか。 エクセルで見積書を作成後に「名前を付けて保存」→「受注番号入力」をしているので、これを「名前を付けて保存」をクリックした時にファイル名を自動的に受注番号が入れば少しでも時間短縮が出来るかと思い、相談させていただきます。 自分なりに参考書などを読み、下記のようになると思ったのですが、出来ません。 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」のセルに受注番号が入っています。 これのどこがダメなのか教えてもらえませんか。 もし、他に方法があるのであれば教えていただけませんか。 ご無理申します。

  • EXCELのシート名自動入力

    EXCELでシート名にセルA1の値を自動入力したいので、 下記のマクロを使いましたが、いちいちマクロを実行しないと自動入力できません。 Public Sub SheetName() ActiveSheet.Name = Range("A1").Value End Sub これを、マクロを実行しなくても、セルA1の値が変わった時点で 自動的にシート名も変わるようにできないでしょうか?

  • 自動で、名前をつけて保存

    エクセルブックの名前をつけて保存について質問です。 マクロを使用して、ブック名を「A1セル内の文字列+作成日(today関数セル)」という事は可能でしょうか?ご教授お願いします。

専門家に質問してみよう