
下記のマクロを実行したタイミングで不要な表示シートを削除し、セル値をファイル名でファイル形式がマクロ有効「.xlsm」と一般「.xlsx」の2つのファイルに保存の出来るように設定しております。
有る条件にて、指定したシートを表示のままに出来る方法を教えてください。
条件-1
シート名「提出シート」のセル「D12」に「有」が表示された場合に
シート("消防の指摘一覧(参考資料)")を削除しないでそのまま残したい。
条件-2
シート("消防の指摘一覧(参考資料)")を残すファイルはマクロ有効「.xlsm」のみで、
一般「.xlsx」のファイルには残さず、削除したい。
条件-1と条件-2は「且つ」です。
このような設定は可能でしょうか。
もし条件が2つの場合に不可能であれば、条件-1だけでもお願いいたします。
マクロ
Sub 電子提出()
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(Array("記載方法")).Delete
Worksheets(Array("提出図書(参考)")).Delete
Worksheets(Array("消防の指摘一覧(参考資料)")).Delete
Worksheets(Array("Web申請手順(参考)")).Delete
Worksheets(Array("申請種別")).Delete
Worksheets("提出シート").Activate
Dim rng As Range
Set rng = Selection.Cells
Range("B1", "H47").Select
myBook = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value & "(提出用).xlsx", FileFormat:=xlOpenXMLWorkbook
rng.Select
Sheets("提出シート").Range("D3,D4,D7").ClearContents
Range("D7").Select
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.Quit
With ThisWorkbook
.Saved = True
Application.DisplayAlerts = True
.Close False
End With
Sheets("提出シート").Shapes("新築FD").Visible = False '
Sheets("提出シート").Shapes("計変FD").Visible = False '
Sheets("提出シート").Shapes("増築FD").Visible = False '
Sheets("提出シート").Shapes("担当者").Visible = False '
Range("D7").Select
End Sub
以上となります。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
条件1と2を満たすようにマクロを変更することは可能です。
以下がその修正例になります。Sub 電子提出()
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(Array("記載方法")).Delete
Worksheets(Array("提出図書(参考)")).Delete
Worksheets(Array("Web申請手順(参考)")).Delete
Worksheets(Array("申請種別")).Delete
' 条件1
Dim sh As Worksheet
Dim deleteSheet As Boolean
deleteSheet = True
For Each sh In Worksheets
If sh.Name = "消防の指摘一覧(参考資料)" And sh.Range("D12").Value = "有" Then
deleteSheet = False
Exit For
End If
Next
If deleteSheet Then
Worksheets(Array("消防の指摘一覧(参考資料)")).Delete
End If
Worksheets("提出シート").Activate
Dim rng As Range
Set rng = Selection.Cells
Range("B1", "H47").Select
myBook = ThisWorkbook.Path
' 条件2
If deleteSheet Then
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value & "(提出用).xlsx", FileFormat:=xlOpenXMLWorkbook
Else
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value & "(提出用).xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
rng.Select
Sheets("提出シート").Range("D3,D4,D7").ClearContents
Range("D7").Select
If deleteSheet Then
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value, FileFormat:=xlOpenXMLWorkbook
Else
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
Application.Quit
With ThisWorkbook
.Saved = True
Application.DisplayAlerts = True
.Close False
End With
Sheets("提出シート").Shapes("新築FD").Visible = False
Sheets("提出シート").Shapes("計変FD").Visible = False
Sheets("提出シート").Shapes("増築FD").Visible = False
Sheets("提出シート").Shapes("担当者").Visible = False
Range("D7").Select
End Sub
この修正では、条件1と2が両方満たされる場合には、「消防の指摘一覧(参考資料)」のシートを残して、マクロ有効な「.xlsm」形式で保存するように変更しています。条件1が満たされるが条件2が満たされない場合には、「消防の指摘一覧(参考資料)」のシートを残したまま一般の「.xlsx」形式で保存します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
エクセル 計算式も入っていない...
-
シートの保護のあとセルの列、...
-
エクセルでファイル保存時に複...
-
EXCEL:同じセルへどんどん足し...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
シート番号からシート名を取得する
-
Accessのスプレッドシートエク...
-
エクセルでファイルを開いたと...
-
VBAでシートコピー後、シート名...
-
エクセルで「ウィンドウを元の...
-
Excelのシートを、まとめて表示...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
excelで会議室予約表の作成(マ...
-
特定のシートの削除を禁止した...
-
エクセルで複数設定したハイパーリンク先...
-
日報をエクセルで作成したいの...
-
シートを追加・名前を次月に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
エクセルで前シートを参照して...
-
エクセルでファイルを開いたと...
-
エクセル 計算式も入っていない...
-
エクセルで前のシートを連続参...
-
特定のシートの削除を禁止した...
-
Accessのスプレッドシートエク...
-
EXCEL:同じセルへどんどん足し...
-
エクセルVBAでパスの¥マークに...
-
シートの保護のあとセルの列、...
-
Excel、同じフォルダ内のExcel...
-
エクセルのシート名をリスト化...
-
シート番号からシート名を取得する
-
Excelのシートを、まとめて表示...
-
EXCELで1ヶ月分の連続した日付...
-
excelでシート毎の最終更新日を...
-
エクセルで毎回1枚目のシートを...
おすすめ情報
回答ありがとうございます。
貴者のコードを設定しまして、
マクロを実行しました処、2つのファイル形式が「.xlsx」で保存されています。
又、両方のファイル共シート「消防の指摘一覧(参考資料)」が削除されております。
解決方法をお願い出来ますか。
よろしくお願いいたします。