Excelで対象のシートを選択した際に、前週の商品単価からプラスマイナス10円以上超過した場合にてメッセージを表示させるマクロを作りたく以下のVBAコードを書いてみましたが、添付画像のように空白セル(B6)があるとメッセージが表示されてしまいます。空白セルを無視することはできないでしょうか?
Private Sub Worksheet_Activate()
If Range("B3") <= Range("B2") - 10 Or Range("B3") >= Range("B2") + 10 Or _
Range("B4") <= Range("B3") - 10 Or Range("B4") >= Range("B3") + 10 Or _
Range("B5") <= Range("B4") - 10 Or Range("B5") >= Range("B4") + 10 Or _
Range("B6") <= Range("B5") - 10 Or Range("B6") >= Range("B5") + 10 Then
MsgBox ("±10円をオーバーしています!")
End If
End Sub
No.1ベストアンサー
- 回答日時:
比較使用するセルが空白でないこと(セルの値<>"")を条件に含めれば良いです。
但し、そうすると今の書き方では、長くなるので、以下のようにしました。Private Sub Worksheet_Activate()
Dim pr As Range
Dim r As Range
Set pr = Range("B2")
For Each r In Range("B3:B6")
If pr.Value <> "" And r.Value <> "" And Abs(pr.Value - r.Value) >= 10 Then
MsgBox ("±10円をオーバーしています!")
Exit For
End If
Set pr = r
Next
End Sub
ご回答いただきありがとうございました。
無事に処理することができました。
こんなシンプルなやり方もあるんですね。勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelでセル内の一部のみ同じセルを検索し、そのセルと同じ行で任意の列のセルを選択する方法 2 2021/12/17 11:01
- Excel(エクセル) 空白行も含めてソートしたい 3 2022/02/01 23:13
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 左から空白文字を探して左側を比較する 4 2022/02/02 22:48
- Excel(エクセル) マクロで変数を用いてセルを選択し、そのセル内の数値を計算式に入れる方法 3 2021/12/27 22:59
- Visual Basic(VBA) Excel VBA の Copy,Paste の質問 2 2021/10/19 19:50
- Excel(エクセル) マクロでセル内の文字列と同じ名前ファイルを選択し、コピペする方法 2 2021/12/31 15:15
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Visual Basic(VBA) シート名でファイル検索する 2 2021/11/30 17:05
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
【補足欄が足りなかったため、こちらで再質問させていただきます。】 Excelの転記マクロについて、教
Visual Basic(VBA)
-
Vba ユーザ定義関数について教えてください
Visual Basic(VBA)
-
Vba Cells.Findについて教えてください
Visual Basic(VBA)
-
-
4
こんにちは。Excelのデータ入力規則のことで教えてください。複数条件を指定したい場合の構文ですが、
Excel(エクセル)
-
5
一つのフォルダーに50個のエクセルファイルがあります。 各ファイルにはAとBのシートがあります。 5
Visual Basic(VBA)
-
6
エクセル VBAでの転記の方法について
Visual Basic(VBA)
-
7
【VBA】エクセルで最後の不要な改行コードを削除するコードについて
Visual Basic(VBA)
-
8
xmlドキュメントから別拡張子で保存したい
Visual Basic(VBA)
-
9
複雑なシフト表から1日ごとの出勤者、シフトを抜き出したいです
Excel(エクセル)
-
10
VB.NETでVBスクリプトを作るにはどうしたらいいですか?
Visual Basic(VBA)
-
11
2013Excel保存済みファイルグレーアウト Excelを開こうとするとメニュー以外全てグレーにな
Excel(エクセル)
-
12
select case について
Visual Basic(VBA)
-
13
自動VBAマクロって会社の中で禁止なんですか?
Visual Basic(VBA)
-
14
Excel VBAにて、2GB超の点群データ(CSVファイル,改行コードLF)を高速で解析したい。
Visual Basic(VBA)
-
15
csvファイルを列数ごとに分割するExcelマクロが書けずに困っています
Visual Basic(VBA)
-
16
VBA とびとびの列を結合させる
Visual Basic(VBA)
-
17
エクセル CSVファイルについて
Excel(エクセル)
-
18
Excelの各シートを色ごとで分類して値転記するマクロの作り方を教えて下さい。
Visual Basic(VBA)
-
19
エクセルのプルダウンリストについて
Excel(エクセル)
-
20
wordのマクロで思うように行きません(ファイル削除ができない)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
Excel VBA コンボボックスで空...
-
エクセルの取り消し線を検出す...
-
マウスを乗せたときにセルの色...
-
VBA サンダーバードのメール自...
-
マクロについて質問です 範囲内...
-
複数セルに〇印をつけるマクロ
-
GridViewの行選択イベントを発...
-
【VBA】セルが空白の場合に処理...
-
VB2005 DATAGRIDVIEWでの矢印キ...
-
DataGridViewでセルを結合したい
-
【VB.NET】DataGridViewセルの...
-
クリップボードの内容を変数に...
-
Excelマクロで空白セルの大小比...
-
VBA 別ブックから条件に合うも...
-
エクセル チェックボックスの...
-
MSFlexGridでのセル結合について
-
EXCELで特定のセルに表示...
-
エクセル:マクロ「Application...
-
E列のセルに数値が入れば(空白...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
Excel 入力規則のリストのカー...
-
マウスを乗せたときにセルの色...
-
クリップボードの内容を変数に...
-
Excel VBA コンボボックスで空...
-
複数セルに〇印をつけるマクロ
-
DataGridViewでセルを結合したい
-
GridViewの行選択イベントを発...
-
【VB.NET】DataGridViewセルの...
-
VBA サンダーバードのメール自...
-
VBA 別ブックから条件に合うも...
-
Excelマクロで空白セルの大小比...
-
マクロについて質問です 範囲内...
-
【VBA】セルが空白の場合に処理...
-
VB2005 DATAGRIDVIEWでの矢印キ...
-
■EXCEL(二つのセルの文字列を一...
-
SPREADで1つのセルに複数のチ...
-
vba、targetのRow,Colomnの値取得
-
エクセル チェックボックスの...
-
VBA 文字列を1文字ずつ調べて"...
おすすめ情報