- ベストアンサー
エクセルのマクロで条件によって中断させる方法
例えば、A1のセルが空欄の場合は、マクロを終了して、文字列や数値などのデータが入力されている場合はマクロを実行(例えば範囲選択して合計を算出するなど)するマクロの書き方がわかりません。お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A1セルが 空欄 なら "Exit Sub"(マクロ終了) そうでなければ、マクロ実行です。 Sub Test() If Range("A1") ="" Then Exit Sub End If ここに、実行マクロを記述 End Sub
その他の回答 (4)
- hallo-2007
- ベストアンサー率41% (888/2115)
>A1のセルが空欄の場合は、マクロを終了して If Range("A1").Value = "" Then Exit Sub とコードで判断して マクロを終了させます。 (例えば範囲選択して合計を算出するなど) 一例です。 Sub ボタン1_Click() If Range("A1").Value = "" Then Exit Sub MsgBox WorksheetFunction.Sum(Selection.Cells) End Sub
お礼
OKWaveに慣れてなく、お礼の時期を逸しました。 申し訳ございません。
- senbei12
- ベストアンサー率42% (6/14)
こういうことでしょうか? (行頭スペースがカットされて見ずらいですが) Public Sub hoge() If Range("A1").Value = "" Then 'マクロ終了 Exit Sub End If '実行したい処理 MsgBox "ほげほげ" End Sub
お礼
OKWaveに慣れてなく、お礼の時期を逸しました。 申し訳ございません。
- keithin
- ベストアンサー率66% (5278/7941)
>例えば、A1のセルが空欄の場合は、マクロを終了して よく使う書き方その1 sub macro1() if worksheets("Sheet1").range("A1")="" then exit sub worksheets("Sheet1").range("B1").formula = "=SUM(A:A)" end sub よく使う書き方その2 sub macro2() if worksheets("Sheet1").range("A1") <> "" then worksheets("Sheet1").range("B1") = application.sum(range("A:A")) end if end sub
お礼
OKWaveに慣れてなく、お礼の時期を逸しました。 申し訳ございません。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 IF Range("A1").Value = "" Then Exit Sub MsgBox WorksheetFunction.Sum(Range("B1:B10"))
お礼
OKWaveに慣れてなく、お礼の時期を逸しました。 申し訳ございません。
お礼
OKWaveに慣れてなく、お礼の時期を逸しました。 申し訳ございません。 あなたさまのご回答が一番シンプルで、自分に合っていたと思います。