下記のマクロを実行すると、
指定セル値がファイル名となり、保存され、マクロ設定ブックが、削除されます。
このマクロを下記の様に変更する方法を教えてください。
シート名「新料金算定表2024.05」の指定セル「AS2」に(確認)と表示された場合のみこのマクロが実行でき。
シート名「新料金算定表2024.05」の指定セル「AS2」に(確認)と表示されていない場合は、メッセージボックスで(料金表を確認後、保存してください)とメッセージが表示され、マクロを実行する事が出来ないように出来る方法を教えてください。
現状のマクロ
Sub 名前を付けて保存ファイル削除()
Dim alert As VbMsgBoxResult
alert = MsgBox("名前を付けて保存を行いますか?", vbYesNo + vbQuestion, "保存確認")
If alert <> vbYes Then
Exit Sub
End If
On Error Resume Next
Dim newName As String
newName = Sheets("受付・名簿・日付").Range("B54").Value
Dim ws As Worksheet
Dim TargetCheck As String
Dim List As Variant
Dim i As Long
Dim Chk As Boolean
For Each ws In Worksheets
Chk = False
If ws.Visible = False Then
For i = 0 To UBound(List)
If ws.Name = List(i) Then
Chk = True
Exit For
End If
Next i
If Chk = False Then
TargetCheck = TargetCheck & ws.Name & vbCrLf
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
End If
Next ws
Dim oldName As String
oldName = ThisWorkbook.Path & "\" & ThisWorkbook.Name
With ThisWorkbook
Application.DisplayAlerts = False
.SaveAs .Path & "\" & newName, xlOpenXMLWorkbookMacroEnabled
Application.DisplayAlerts = True
End With
Kill oldName
Application.ScreenUpdating = True
Application.Quit
With ThisWorkbook
.Saved = True
.Close False
End With
End Sub
以上です。宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
分岐条件にMsgBoxを使わないんですよね。
でしたら、if-thenとMsgBoxは切り離して考える必要があります。マクロを実行しない条件はAS2の値ですよね。だったら
If Range("AS2") <> "確認" Then
です。その場合にMsgBox出して終了なら、
MsgBox "料金表を確認後、保存してください"
Exit Sub
End If
です。
MsgBoxでどのボタンを押したか知る必要が無ければ
alert =
みたいなのは不要です。
No.1
- 回答日時:
何がわからないのか書いてほしいです。
条件分岐(If … Then)のやり方なのか、メッセージボックスの使い方なのか。そして、たいていのことはWeb検索すればわかるので、それを見た上で理解できないところを質問しましょう。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/03/27 14:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/03/26 18:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/11/08 10:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) エクセルのVBAコードについて教えてください。 2 2024/07/04 10:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2024/07/01 15:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/05 10:32
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
一番好きな「クリスマスソング」は?
街に出ればクリスマスソングを聞かない日はないくらい、 いろんな曲がかかっていますよね。 あなたが一番好きな「クリスマスソング」を教えてください!
-
これが怖いの自分だけ?というものありますか?
人によって怖いもの(恐怖症)ありませんか? 怖いものには、怖くなったきっかけやエピソードがあって聞いてみるとそんな感覚もあるのかと新しい発見があって面白いです。
-
集合写真、どこに映る?
あなたが集合写真を撮られるとき、画角のどのあたりにいることが多いですか? 私は振り返ってみると右の端にいることが多い気がします。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
VBA初心者です。次のVBAコードで、17行目を削除したいのですがうまく動きません 改善策を教えてく
Visual Basic(VBA)
-
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
-
4
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
5
vba 削除
Visual Basic(VBA)
-
6
VBAなくなるの?
Visual Basic(VBA)
-
7
エクセルについて
Visual Basic(VBA)
-
8
VBAコードのインデント表示
Visual Basic(VBA)
-
9
サブフォルダに格納されているファイルを、ファイル名ごとに条件分岐させたい
Visual Basic(VBA)
-
10
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
11
エクセルのVBAコードについて教えてください。
Visual Basic(VBA)
-
12
至急助けてください!!!あと2時間しかないです! ボタンを押したら0ランプが点灯し、コンマ5秒後に1
その他(プログラミング・Web制作)
-
13
VBA 2次元配列の出力
Visual Basic(VBA)
-
14
WindowsのOutlook を VBA から操作する
Visual Basic(VBA)
-
15
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
16
VBA レジストリの値の読み方について教えてください
Visual Basic(VBA)
-
17
エクセルVBA
Visual Basic(VBA)
-
18
プログラミング
Visual Basic(VBA)
-
19
マクロの記録を使用したマクロの実行について
Visual Basic(VBA)
-
20
VBA一覧取得 再投稿
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・遅刻の「言い訳」選手権
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 別ブックからコピペしたい...
-
エクセルでCDOを使ったメール送...
-
ExcelのVBAコードについて教え...
-
[Excel VBA]特定の条件で文字を...
-
Excel 範囲指定スクショについ...
-
【ExcelVBA】インデックスが有...
-
VBA Application.Matchについて...
-
【ExcelVBA】5万行以上のデー...
-
エクセルのマクロについて教え...
-
VBAについて教えて下さい
-
VBA 別ブックから条件に合うも...
-
VBAでセルの書式を変えずに文字...
-
【VBA】値を変更しながら連続で...
-
Excelのマクロについて教えてく...
-
ExcelのVBAコードについて教え...
-
Vba 型が一致しません(エラー1...
-
Excelのマクロについて教えてく...
-
Visualbasicの現状について教え...
-
WindowsのOutlook を VBA から...
-
VBAでCOPYを繰り返すと、処理が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのエラー表示の対処法について
-
VBA 別ブックからコピペしたい...
-
Visualbasicの現状について教え...
-
VBAのループ処理について教えて...
-
Excelのマクロについて教えてく...
-
VBA Application.Matchについて...
-
VBAで特定の文字が入った行をコ...
-
Excelのマクロについて教えてく...
-
修正依頼:【VBA】 結合セルに...
-
VBAでセルの書式を変えずに文字...
-
【ExcelVBA】5万行以上のデー...
-
VBA 2次元配列の出力
-
Excelのマクロについて教えてく...
-
VBA 別ブックから条件に合うも...
-
【VBA】 結合セルに複数画像と...
-
Excel マクロについて詳しい方...
-
【VBA】値を変更しながら連続で...
-
【ExcelVBA】インデックスが有...
-
エクセルvbaの対象セルに色をつ...
-
エクセルのVBAコードについて教...
おすすめ情報
どなたか、助けて頂けませんか、よろしくお願いいたします。
回答ありがとうございます。
他のマクロの場合は
マクロコードの先頭に
「Dim alert As VbMsgBoxResult
alert = MsgBox("シート「1」の作業を行いますか?", vbYesNo + vbQuestion, "作業確認")
If alert <> vbYes Then
Exit Sub
End If」
を設定しており、
このコードだと、メッセージが表示されて「Yes」をクリックすると
コード以下のマクロが実行されます。
このコードを利用して
指定コード名「新料金算定表2024.05」の指定セル値「AS2」に(確認)を表示されていない場合に
コード以下のマクロが実行されないように出来る方法が分かりません。
メッセージについては("シート「1」の作業を行いますか?")の部分を変更すれば良いのかと思いますが・・
よろしくお願いいたします。
回答ありがとうございます。
教えて頂いたコードを設定しまて
マクロを実行しましたが、マクロが実行されませんでした、
私の説明不足です、指定セルのAS2の(確認)はマクロを実行するシートとは別で
シート名「新料金算定表2024.05」になります。
指定シートを設定したコードを教えていただけますか。
何度も申し訳ありません。
よろしくお願いいたします。