マクロを独学で学び仕事に応用しているのですが、どうしても分からないことが発生してしまい、質問です。
内容は、今、エクセルシートのA1~B5の範囲で
A B
1 1 1
2 1 2
3
4 1
5 1
という形で入力されています(見難くてスミマセン)。
この状態から「A列とB列に同じ数字が入力されてれば、メッセージBOXを表示して、なおかつOKボタンを押したら該当セルを赤くする」というマクロを作りたいのですが、本来であれば1行目のみ赤くなるはずなのですが、空白セルが含まれている3行目も赤くなってしまうんです。つまり、空白セルも「同じ値」と認識されているみたいなのですが...。
この場合、空白セルを無視するにはどうしたらよいのですか?教えてください。なお、マクロは以下のように作っています。
Sub ナンバーチェック()
Dim Btn As Integer
For X = 5 To 10
If Cells(X, "A").Value = Cells(X, "B").Value Then
Btn = MsgBox("同じ数値です", vbOK, "警告")
If Btn = vbOK Then
Cells(X, "A").Interior.ColorIndex = 3
Cells(X, "B").Interior.ColorIndex = 3
End If
End If
Next
End Sub
No.11
- 回答日時:
こんばんは。
#10さんの
>また、答え書きすぎなように思われます。
そうですね。ただ、私は、回答者さんたちのためにも書いたつもりだったのですが。
そして、#8のimogasiさんのようなワークシートによる記録マクロの方法もアリですね。
細かいことを言えばきりがないですが、私としては、こういう問題(空白とEmpty)は、昔、やはり人から教わったことです。そういう受け入れ態勢が出来て初めて分かることかもしれませんが、ちょっと気になって書いてしまいました。半分ぐらいの人は理解していないような気がします。
それと、
>(個人的にはif文で1行に書きすぎるとわかりにくく、追加しずらいです)
私もそう思います。IF文1行の条件文はしないほうがよいです。
本来、他の言語ですと、条件ごとに括弧( )で括るような書き方をします。
質問者さんは、#6さんの回答には、目をくれていませんが、本来は、それでよかったのですが……。ただし、私は、そういうようには書きません。それは、それぞれのレベルがあるからです。また、長さ0の文字列の意味が分からなければ、何もなりません。
Sub ナンバーチェックR()
Dim x As Integer
Dim btn As Integer
For x = 5 To 10
'以下の一行の条件文を入れる
If Cells(x, "A").Value <> "" And Cells(x, "B").Value <> "" Then
If Cells(x, "A").Value = Cells(x, "B").Value Then
btn = MsgBox("同じ数値です", vbOK, "警告")
If btn = vbOK Then
Cells(x, "A").Interior.ColorIndex = 3
Cells(x, "B").Interior.ColorIndex = 3
End If
End If
'以下の一行でEnd Ifと括る
End If
Next x
End Sub
また、ちょっと記録マクロを使った使い方なら、こんな風にも出来ますね。これは、スピードが速いです。ただし、条件付書式です。
Sub FormatConditionUsed()
With Range("A5:B10")
.FormatConditions.Delete '条件付書式の削除
'条件付書式にて
.FormatConditions.Add _
Type:=xlExpression, _
Formula1:="=AND(RC1=RC2,RC1<>"""",RC2<>"""")"
.FormatConditions(1).Interior.ColorIndex = 3
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
空白行を無視してコピーするマクロについて
Excel(エクセル)
-
-
4
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
5
空白セルをとばして転記
Visual Basic(VBA)
-
6
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
7
マクロで空白セルを詰めて別シートに転記
Visual Basic(VBA)
-
8
数式による空白を無視して最終行までコピーするマクロ
Excel(エクセル)
-
9
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
10
【vba】指定範囲の中に任意の文字があるときの条件分岐
Excel(エクセル)
-
11
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
12
VBA 空白行に転記する
Visual Basic(VBA)
-
13
:【Excel VBA】 Do Until ~ Loop 構文で途中の空白セルを飛ばしてデータのチェックをしたい
Excel(エクセル)
-
14
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
15
エクセルマクロで特定の範囲が空白という条件
Excel(エクセル)
-
16
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
17
VBA 値と一致した行の一部の列のデータを転記について教えてください
Visual Basic(VBA)
-
18
マクロについて。S列の途中からデータがある最終行まで消したいのですが、 Range(”S8”,Cel
Visual Basic(VBA)
-
19
数式の結果が空白の時の空白扱い
Excel(エクセル)
-
20
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
白血球が多いとどんな心配があ...
-
尿検査の前日は自慰控えたほう...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
EXCELで条件付き書式で空白セル...
-
腕を見たら黄色くなってる部分...
-
EXCELで式からグラフを描くには?
-
変な話しになります。尿検査で...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
-
Excelで""で囲む方法
-
ある範囲のセルから任意の値を...
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
エクセルでエラーが出て困って...
-
納豆食べた後の尿の納豆臭は何故?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報