作成したマクロを編集する方法|Msgboxを追加しOK以外中止する-Excel

マクロの記録で作成しても、編集したい場合があります。ここでは編集の例として、Msgboxを追加しOKボタン以外がクリックされると、マクロを中止するようにします。

「マクロが編集できない」と検索がありますが、その場合、マクロが有効になっていない・マクロが登録されていない・パスワードでロックされているなどの原因が考えられます。




Homeに戻る > Excel マクロのTipsへ

Excel マクロの編集画面を開く

リボンの[開発]タブ~コードグループの[マクロ]をクリックします。
開発タブが表示されていない場合は、「Excelの開発タブを表示する方法」を参照し表示させてください。
コードグループの[マクロ]をクリックする

マクロのダイアログボックスが開きます。

1.編集するマクロを選択します。
2.[編集]ボタンをクリックします。
マクロのダイアログボックス

マクロの編集画面(VBE)が開きます。
マクロの編集画面(VBE)

印刷範囲を設定し、印刷するマクロは下のようになっています。

Sub 印刷()
'
' 印刷 Macro
'
'
    Range("B5:O33").Select
    ActiveSheet.PageSetup.PrintArea = "$B$5:$O$33"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
End Sub

マクロにMsgboxを追加する

下のようにMsgboxを追加し、OKボタンがクリックされた場合のみマクロの印刷を実行するように変更しました。
Msgboxを追加

Sub 印刷()
'
' 印刷 Macro
'
'
    
    nRet = MsgBox("印刷を開始してもよろしいですか?", vbOKCancel, "Excelマクロ")
    If bret = vbOK Then
        Range("B5:O33").Select
        ActiveSheet.PageSetup.PrintArea = "$B$5:$O$33"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    End If
End Sub

これは次のようなコードにしても同じです。

Sub 印刷()
'
' 印刷 Macro
'
'
    nRet = MsgBox("印刷を開始してもよろしいですか?", vbOKCancel, "Excelマクロ")
    If bret <> vbOK Then
        Exit Sub
    End If
    
    Range("B5:O33").Select
    ActiveSheet.PageSetup.PrintArea = "$B$5:$O$33"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
End Sub

修正後、保存し実行すると下のようなMsgboxが表示され、間違ってクリックしてもキャンセルできるようになりました。
保存し実行すると下のようなMsgboxが表示

Homeに戻る > Excel マクロのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved