• ベストアンサー

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

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

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

  • ベストアンサー
noname#123709
noname#123709
回答No.4

>(1) ("Desktop")のかわりに(c:\・・・)とか(フォルダ名)とか入れてみましたが、うまくいきませんでした。 CreateObject("WScript.Shell").SpecialFolders("Desktop")でデスクトップを指定しています。普通にパスを書くと長いですしユーザープロファイルによって変わってしまいますし・・。 >(2) 『Sheet1』のセル「A1」のファイル名としたいのですが、現在のセル”「A1」にファイル名だけが入っている場合”そのとき開いていたシートのセル「A1」の文字がファイル名になってしまいます。 Range("A1").Valueだけだとアクティブシート上の指定になります。シートを固定したい場合はシート名が必要になります。 Sheet1のセル「A1」にファイル名だけが入っている場合 保存先が「C:\テスト」の場合 Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs Filename:="C:\テスト" & "\" & Sheets("sheet1") _ .Range("A1").Value & Format(Now, "yymmddhhmm") & ".xls" End Sub

yastaro
質問者

お礼

SuperMildさん、ありがとうございました。 今回のご指導でよくわかりました。また、うまくいきました。心より感謝申し上げます^^

その他の回答 (3)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

例えばCドライブの直下に作る場合、 'NetPath = ThisWorkbook.path & "\" 'を NetPath = "c:\" で出来ると思うのですが・・・・

yastaro
質問者

お礼

keirikaさん、ご回答ありがとうございます。 そうなのですね。難しく考えてたといいますか、理解不足を恥じ入るばかりです。 しかし今回は、イベントによるご指導を別の方からいただき、その内容で解決させたいと思います。ご回答くださいましたことを感謝申し上げますとともに勉強にもなりました。心よりありがとうございます。

noname#123709
noname#123709
回答No.2

ThisWorkbookのモジュールに。 セル「A1」にファイル名だけが入っている場合 Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs Filename:=CreateObject("WScript.Shell").SpecialFolders("Desktop") _ & "\" & Range("A1").Value & Format(Now, "yymmddhhmm") & ".xls" End Sub セルの入力値に頼らない場合 Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs Filename:=CreateObject("WScript.Shell").SpecialFolders("Desktop") _ & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 3) & Format(Now, "yymmddhhmm") & ".xls" End Sub 保存先フォルダをデスクトップとしての例ですので、保存先は適所変更して 下さい。

yastaro
質問者

補足

SuperMildさん、引き続きお世話になります^^ありがとうございます。 (1) ("Desktop")のかわりに(c:\・・・)とか(フォルダ名)とか入れてみましたが、うまくいきませんでした。C直下に入ってしまいます。うまく任意のフォルダに入る方法を教えてください。 (2) 『Sheet1』のセル「A1」のファイル名としたいのですが、現在のセル”「A1」にファイル名だけが入っている場合”そのとき開いていたシートのセル「A1」の文字がファイル名になってしまいます。 以上、2点、何卒ひきつづきご指導ください。 お待ちしています。

  • aminaka
  • ベストアンサー率20% (2/10)
回答No.1

Sub 保存() パス = ActiveWorkbook.Path 名前 = Range("a1") 保存名 = パス & "\" & 名前 & ".xls" ActiveWorkbook.SaveAs Filename:=保存名 End Sub というマクロでで如何でしょうか

yastaro
質問者

補足

ご回答、ありがとうございます。 私の勉強不足で的外れの質問ならごめんなさい。 名前を『sheet1』の「A1」とすることをお教えくださいますでしょうか?お願いいたします。

関連するQ&A

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

    よろしくお願いします。 エクセルのファイル(ブック)を自動的にバックアップとりたいのですが、よろしくご指導お願いします。 ◆「sheet1のセルA1に  =”ファイル名”&=TEXT(NOW(),"yymmddhhmm")」 と入れています。これによりブックを閉じるときにバックアップ用フォルダにセル「A1」に表示される文字をファイル名として自動保存をしたいのです。 ◆ひとつ難題があります。バックアップ先はネットワークでつながっている、ある管理者のパソコンです。管理者出張等で、そのパソコンが立ち上がっていないときもありえます。そのようなときはそのバックアップそのものが不能ですから、VBAでもそういう場合はバックアップそのものをあきらめるといいますか、自動パスして終了したいのです。 以上のことについてご指導お願いいたします。初心者ですので、わかりやすくお願い申し上げます。

  • エクセル:バックアップファイルの保存先に毎月、フォルダを自動で作りたいのです

    エクセル、VBA初心者です。よろしくお願いします。 以前に、ネットワーク先の自動保存の保存先を次のようにこちらでご指導いただきました。 ('保存先パス名  NetPath = "\\○○\□□\△△\  BkName = ThisWorkbook.Sheets("sheet1").Range("A1").Text & _ Format(Now(), "yyyymmddhhmm") & ".xls") で、おかげさまでネットワークの任意の保存先にエクセル「sheet1」の「A1」に入れた文字+年月日時間を加えたファイル名で、うまくバックアップとれています。 ◆今回は、その保存先フォルダ\△△の中にさらに自動でフォルダをつくるVBAを書きたいのです。 ◆例えば「\\○○\□□\△△\2006年4月」   といった具合に2006年4月1日になったら、自動で「2006年4月」という名のフォルダをつくり、その中に4月の間はエクセルファイルを自動で保存したいのです。 ◆そして、5月1日になればフォルダ「△△」の中に「2006年5月」というフォルダが自動的にできる。 上記のようなイメージです。 自身では、そのようなVBAが、可能か不可能なのかすら全くわかりません。初心者といえど勉強不足で皆様に頼ってばかりですが、どうかご指導ください。 以上、よろしくお願いします。

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

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

  • EXCEL マクロ 自動でファイル名をつける方法を教えてください 

    もともとあるファイルの一部のシートを新規ファイルで保存し、そのファイル名を自動でつけたいのですが。。。 そのファイル名は、新規ファイルのシートのセルを参照+既定の単語をつなげて作りたいのです たとえば  シート1のセルB3の数字+"見積書" というかんじです。 (できれば、ファイルを保存する場所も指定したいです) 元のファイルから新規ファイルに動かす動作は自動記録で作れたのですが、ファイル名のつけ方がわからず・・・ よろしくお願いします! **ファイル名のつけ方がわかったら、新規ファイルを発生させたマクロとファイル名をつけるマクロを合体させれば一連の流れでいきますでしょうか?

  • エクセルで保存時のファイル名

    エクセルでファイルを書き込む(「ファイル」-「名前を付けて保存」) 時に、セル内にあるテキストをファイル名として自動的に書き込み時に 指定する事はできるでしょうか。 例えば A1セルに"名古屋"、A2セルに"10月"と入っている時に 「名前を付けて保存」で、ファイル名=名古屋10月.csv (ファイルの種類はCSV)としたいのですが。 ご教授、よろしくお願いいたします。

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

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

  • エクセルで特定のシートだけを別ファイル名で保存

    いつもお世話になっております。 作業用の既存Bookの特定のシート(提出用)だけを、別のファイル名で保存したい。 保存先フォルダーはフルパスで指定して、ファイル名は当該シートの指定セルの内容で、xlsx形式で保存したいのです。 過去の質問に似たようなケースの回答があるのですが、悲しいかな使いこなせないレベルなのでHELPさせていただきます。

  • エクセルマクロで任意のファイル名をつけて保存したい

     エクセルVBAについての質問です。  エクセルのマクロで、Aというファイルを開いて、そのうち必要なワークシートだけを抽出し、新しいブックに移動し、その新しいブックを新しいブックのsheet1のセルC2の文字列をファイル名として保存するようなマクロをくみたいと思っています。  ファイルを開いて必要なワークシートだけを抽出し、新しいブックに移動するところまではできましたが、新しいブックのセルC2の文字列をファイル名として保存することができません。FNを変数として宣言して、C2の文字列を代入し、FNをファイル名として保存しようとすると、ファイルにFNという名前が付いてしまいます。どうすれば、C2の文字列をファイル名として保存できるのでしょうか。なお、保存するフォルダはc:\変換ファイル\6月です。どなたか教えてください。よろしくお願いします。

  • Excel,マクロ別シートからフォームに名前付保存

    以下通りの作業を自動化するVBAに関する質問です。 <Excelバージョン> Excel2013 <状況> 「Sheet1」に契約No.(連続数字でない)ごとのデータリスト。1行に1契約No. 「Sheet2」に定型帳票。A1セルに契約No.を入力。各項目は契約No.に紐づくVLOOKUP関数で可変となっている。 <必要仕様> 1クリックマクロで 「Sheet1」の全データを1行ずつ「Sheet2!A1」に契約No.を当てはめ、それぞれの「契約No.」をファイル名にして、指定フォルダに、1枚ずつPDF形式で保存。 このような仕様を満たすVBAをご教示いただけると幸いです。

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

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

専門家に質問してみよう