重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

作ったシートの月更新の為 時間のセルを削除しようと思い 記録でマクロを作り釦に登録しました。
Sub クリア()
>>
>> '
>>
>> ' クリアMacro
>>
>> '
>>
>> '
>>
>> Range("D8:D22,F8:F22,K8:K23,M8:M23").Select
>>
>> Range("M8").Activate
>>
>> Selection.ClearContents
>>
>> End Sub

しかし 間違って押してしまうと困るので 1度確認したいと考えました。
https://tripbowl.com/excel-vba/msgbox/#toc4
を見つけたのですが、
Private Sub CommandButton1_Click()
msg = MsgBox(“削除削除しますか?”, Buttons:=vbYesNo)
If msg = vbYes Then
をどの様に、使えば良いのでしょうか?

詳しい方、お教えください

A 回答 (2件)

マクロの記録から自分で作って見てる感じでしょうか?


見つけた記事を参考に取り入れると。

Sub クリア()
' クリアMacro
  msg = MsgBox("削除削除しますか?", Buttons:=vbYesNo)
  If msg = vbYes Then
    Range("D8:D22,F8:F22,K8:K23,M8:M23").Select
    Range("M8").Activate
    Selection.ClearContents
  End If
End Sub

こんな感じになりますね。

で、余分と思われる処理を除外すると、
こんな感じに短くできます。

Sub クリア()
  If MsgBox("削除しますか?", vbYesNo) = vbYes Then
    Range("D8:D22,F8:F22,K8:K23,M8:M23").ClearContents
  End If
End Sub

範囲を選択➙選択範囲をクリア
という処理を、
指定範囲をクリア
と簡略化できます。
    • good
    • 1
この回答へのお礼

ありがとうございました。
詳しいですね

お礼日時:2020/10/13 09:13

https://tripbowl.com/excel-vba/userform/

この辺から『ユーザーフォーム』について勉強してみるとか?
    • good
    • 0
この回答へのお礼

ありがとうございました。
勉強します。

お礼日時:2020/10/13 09:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!