
ファイル.xlsm を開いて、(sheet1,sheet2,sheet3があったとして)
マクロ実行すると、
sheet2,sheet3 を削除し、
ファイル(配布用20200131版).xlsx でマクロなしブックとして別名保存したいです。
保存先は、ファイル.xlsm を開いた場所と同じ場所に、
20200131の部分は、自動的に当日の日付を入れたいです。
具体的には、
Book名のPath & Book名&"(配布用"& today() &"版).xlsx" のようにです。
また、
「このシートは完全に削除されます。続けますか?」のメッセージと、
マクロなしブックで保存するときの
「マクロなしのブックとして保存するには「はい」をクリックしてください」のメッセージも
省略して表示されないようにしたいです。
可能でしょうか?
No.3ベストアンサー
- 回答日時:
なかなか終了しませんね?
もしかしたら下図のようなメッセージも省略したいのでしょうか?
それでしたら以下のようにされると良いと思います。
Sub Sample()
Dim ファイル名 As String
Dim 文字長 As Long
文字長 = Len(ThisWorkbook.FullName) - 5
ファイル名 = Left(ThisWorkbook.FullName, 文字長) & _
"(配布用" & _
Format(Date, "yyyymmdd") & _
"版).xlsx"
Application.DisplayAlerts = False
If Dir(ファイル名) <> "" Then Kill (ファイル名)
Sheets(Array("Sheet2", "Sheet3")).Delete
ActiveWorkbook.SaveAs Filename:=ファイル名, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
End Sub

No.2
- 回答日時:
こんな感じの事でしょうか?
Sub Sample()
Dim ファイル名 As String
Dim 文字長 As Long
文字長 = Len(ThisWorkbook.FullName) - 5
ファイル名 = Left(ThisWorkbook.FullName, 文字長) & _
"(配布用" & _
Format(Date, "yyyymmdd") & _
"版).xlsx"
Application.DisplayAlerts = False
Sheets(Array("Sheet2", "Sheet3")).Delete
ActiveWorkbook.SaveAs Filename:=ファイル名, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
End Sub
すごいです。
試しにマクロを実行して、
「あれ?何も起きない」と思ったら、マクロが置いてある場所に希望通りのエクセルが保存されていました。
一瞬で実行完了してしまうので驚きました。
大変助かりました。
ありがとうございました。
No.1
- 回答日時:
こんばんは。
>メッセージも省略して表示されないようにしたいです。
警告メッセージを非表示にするには、
Application.DisplayAlerts = False
を実行することで可能です。
対象となる処理が終わったところで、Trueに戻しておくのがよいでしょう。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/05/23 15:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
エクセルでマクロ(Excel 4.0)が含まれていると表示される
Excel(エクセル)
-
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
-
4
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
5
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
6
マクロ ブックをマクロなしでコピー
Access(アクセス)
-
7
【ExcelVBA】マクロブックを通常のエクセルブックとして保存する方法?
Visual Basic(VBA)
-
8
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
9
マクロを消すマクロは不可能?
Excel(エクセル)
-
10
エクセルの表示形式を保ったまま、セルに値を代入するには?
Visual Basic(VBA)
-
11
VBAでマクロを使って、マクロ無効のエクセルシートとして名前を付けて保
その他(Microsoft Office)
-
12
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
13
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
14
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
15
VBA ファイルを開くダイアログでの初期表示にファイルサーバーを指定
Excel(エクセル)
-
16
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
17
エクセルVBA シート上にあるコマンドボタンを削除するには?
Excel(エクセル)
-
18
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
19
ヘッダー
Excel(エクセル)
-
20
VBA 新規ファイルを元ファイルと同じ場所に保存する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全ブックのシート...
-
すでに開いているブックのマク...
-
【ExcelVBA】指定の書式で、マ...
-
エクセルVBA Workbook変数に変...
-
EXCELマクロでxlsとxlsxを開く方法
-
コマンドボタンでマクロを起動...
-
エクセル2007で、Application.R...
-
エクセルのマクロについて教え...
-
excelマクロ、任意セルの値で名...
-
マクロでログ抽出し、日付ごと...
-
複数のデータ系列の線の太さを...
-
VBAを一度起動するとずっと出て...
-
エクセルでツールバーに「縮小...
-
昨日まで動いていたエクセルの...
-
Excelマクロ ファイル名が変わ...
-
外部データを取り込むマクロ
-
マクロを消すマクロは不可能?
-
VBA[Private Sub]のコードをシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
VB2010でExcelの行をコピーして...
-
フォルダ内の全ブックのシート...
-
【ExcelVBA】指定の書式で、マ...
-
EXCELマクロでxlsとxlsxを開く方法
-
excelマクロ、任意セルの値で名...
-
【Excel VBA】ブックを複数開い...
-
すでに開いているブックのマク...
-
フォルダ内の全てのBookに同じ...
-
VBA セル入力された日付データ...
-
VBAでEXCELのワークシートを削...
-
VBA、Excelのworkbook.open に...
-
Excel VBAを後ろで動かす方法
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
-
excelでハイパーリンク 別ブッ...
-
エクセルVBAでブックを開くと処...
-
他のBookのユーザー定義関数を使う
おすすめ情報