• ベストアンサー

VBA 自動保存方法

pkh4989の回答

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

こんにちは。 参考にしてください。 Sub test()   Name = Format(Date, "ggge年m月分") & ".xls" '処理をした日の月で保存   If Dir(Name) <> "" Then     '存在の場合は、ファイル名に_○○を付ける     Name = Left(Name, Len(Name) - 4) & "_○○.xls"   End If   ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\PC Users\デスクトップ\研修課題\" & Flnm End Sub Sub 名前を付けて保存()   Flnm = "C:\TEST"   Flnm = Application.GetSaveAsFilename(InitialFileName:=Flnm, _            filefilter:="Excel ファイル (*.xls), *.xls", Title:="名前を付けて保存")   If Flnm <> "False" Then     ExitFlg = True   End If   If Dir(Flnm) <> "" Then     Flnm = Left(Flnm, Len(Flnm) - 4) & Format(Now(), "_yymmdd hhmmss") & ".xls"   End If   ActiveWorkbook.SaveAs Filename:=Flnm End Sub

ka2ari1226
質問者

お礼

参考にさせていただきます!! わかりづらい説明をしてしまったかと指摘されるのではないかとひやひやしましたが丁寧に教えてくださってありがとうございます。 ためさせていただきます。 またなにかありましたらご指導ください!!

関連するQ&A

  • SaveAsの保存先について

    エクセルのマクロのついての質問です よろしくお願いします 現在、下記のようなコードでマクロを実行するとパスワードをつけて上書き保存したような結果になっています(元のファイル名も○○.xlsで、指定したものと同一です) Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="○○.xls", FileFormat:=xlNormal, Password:="1111", WriteResPassword:="2222", ReadOnlyRecommended _ :=False, CreateBackup:=False Application.DisplayAlerts = True 私の目的としてはそれでよいのですが、このように格納先を指定しなかった場合は 必ず元のファイルと同一のフォルダになるってくれるものなのでしょうか? それとも状況によって別なところに名前をつけて保存されてしまったりすることがありますか?

  • Excel/VBAのファイル保存

    いつもここでは大変お世話になっています。 以下のように名前をつけて保存をしているのですが、 同名のファイルがあった場合でも上書き確認せずに上書きをさせる方法を教えて下さい。 お願いします。 ActiveWorkbook.SaveAs Filename:= _ "\\PC名\ディレクトリ名\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False

  • VBAでのシートコピーについて

    VBAでシートを新しいブックにコピーして、名前を付けて保存したいのですが、同じファイル名が存在すると、必ず「上書きしますか?」のダイアログが表示されてしまいます。無条件で上書きする方法ってありませんか? 今は↓のようなコードを書いてます。 Application.ScreenUpdating = False Sheets("sheet1").Copy ActiveWorkbook.SaveAs Filename:= _ "C:\Book1.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ActiveWindow.Close

  • Excel VBA ファイルの置換確認メッセージ

    Excel VBAでファイルを生成するマクロを組んでいます。 同一パス・ファイル名が存在する場合、 「~は存在します。上書きしますか?」と確認メッセージが表示されますが、このメッセージを出力させなくするには、どうコーディングすればよいでしょうか? 以下はファイル生成の部分です。 ActiveWorkbook.SaveAs Filename:=strFileName, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Application.WindowState = xlMinimized 想像ですが、ここに何らかのコマンドを追加するのでしょうか? よろしくお願いします。

  • ファイルの保存先のパス

    マクロでデスクトップに保存させたいのですが、 ActiveWorkbook.SaveAs Filename:= _ "D:\Documents and Settings\●●●\デスクトップ\Book1.xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False の●●●のように、私のユーザー名が入ります。 このファイルは色々な人に使ってもらいたいので、 LOCALみたいな意味合いの言葉を入れたいのですが、 なんと入れたら良いでしょうか? ご存知の方いらっしゃいましたら宜しくお願いします。

  • Excelマクロで年度別にフォルダ作成したい。

     Excel2003です。  日々の売り上げ集計ファイルをボタン一つで保存していくマクロを作っています。 Application.DisplayAlerts = False If Dir(ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計", vbDirectory) = "" Then MkDir Path:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計" ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Else ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False  とりあえず指定のフォルダに「yymmdd.xls」という名前をつけて保存、もしフォルダがなければ作るというところまで作れました。そこで、今度は「**年度」というフォルダに自動的に保存され、もし「**年度」というフォルダがなければ作るようにしたいのです。上に上げたマクロでは「**年」というフォルダを作ってその中に保存というところまでは出来ているのですが……。とにかく年度で分ける場合の処理がよくわかりません。  回答よろしくお願いします。

  • マクロ シート別に名前をつけて保存したい

    1つのブックにシートが複数あり、それぞれシート毎に名前をつけて保存したいです。 質問を検索しましたら似たようなマクロを見つけたのですが、例えば1.2.3・・・というシートがあった場合、エクセル1、エクセル2、というような共通の言葉をつけて保存したい場合の方法を教えて下さい。 たぶんですが・・・下記のどこかにエクセルという言葉をいれるとできますでしょうか? Workbooks(2).SaveAs Filename:= _ SvPath & Workbooks(BookName).Sheets(SheetName).Name & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False よろしくお願い致します。

  • エクセル2000 VBA

    ウィンドウズ2000 エクセル2000です。 ブックの中のシートを一枚だけコピーして別のブックに名前を付けて保存したいと思っています。 「'コピーするシートを選ぶ Sheets("概要表").Select '全部選んでコピー Cells.Select Selection.Copy '新しいブックを選ぶ Workbooks.Add Cells.Select '新しいブックにコピーを貼り付ける。 ActiveSheet.Paste Application.CutCopyMode = False」 ここまでは順当に動いています。 質問は アクティブになった新しいブックを保存したいです。 一行から二行目にかけて設定しているファイルネームを、 メッセージボックスを表示させてそこに入力した文字列 をファイルネームとして(現在****)保存したいのですが。 ActiveWorkbook.SaveAs Filename:= _ "**********.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False どなたかよろしくお願いします。

  • Excel VBA で 保存

    VBAマクロで 終了ボタンを押した時に あるシートを削除をし TEST2 と言う名前で保存したいのですが 保存したシートを開こうとすると強制終了してしまいます。どなたか詳しい方ロジックを見ていただけませんか?よろしくお願いします。 ちなみに Excel2000 です。 以下ロジック Dim fs As Object Dim w As Object strWK_SaveBmnFile = "c:\TEST2.xls" '' ------------------------------ '' strWK_SaveBmnFile ファイルの存在チェック '' ------------------------------ Set fs = CreateObject("Scripting.FileSystemObject") If fs.FileExists(strWK_SaveBmnFile) Then Kill strWK_SaveBmnFile End If Set fs = Nothing Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=strWK_SaveBmnFile, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Windows("TEST2.xls").Activate Worksheets("DATA1").Select ActiveWindow.SelectedSheets.Delete Worksheets("DATA2").Select ActiveWindow.SelectedSheets.Delete ActiveWorkbook.Save Application.Quit

  • マクロが思い通りに動きません

    エクセルでマクロを使いボタンを 作りました。ボタンを押すとHDDとDVDに保存される仕組みになっています Sub DVD() ChDir "E:\" ActiveWorkbook.SaveAs Filename:=Format(Now, "yyyy-mm-dd(hh時mm分ss秒)"), FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub Sub HDD() ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\***\デスクトップ\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub これだとDVDへ保存が上手くいきません。DVDからエクセルを開いて使えば問題ないのですが、デスクトップから開くと日付入りのデータがデスクトップに保存されてしまいます。 どうやって書き換えたらいいでしょうか