以下のコードは以前にこちらのサイトで教えていただいたものです。
J列とK列の同じ行を比較して等しくなかったらK列のセルが赤くなります。
問題なく使えていたのですが、J列が0(ゼロ)でK列が空白の場合は色の変化がしないことがわかりました。。
K列が空白の場合は強制的に赤になるようにコードを変えたいです。
お詳しい方宜しくお願いいたします。
Sub 比較()
Dim i As Long
For i = 2 To Cells(Rows.Count, "J").End(xlUp).Row
If Cells(i, "J").Value <> Cells(i, "K").Value Then Cells(i, "K").Interior.Color = vbRed
Next i
End Sub
No.3ベストアンサー
- 回答日時:
Sub 比較()
Dim i As Long
Range("K2", "K" & Cells(Rows.Count, "J").End(xlUp).Row).Interior.Color = vbRed
For i = 2 To Cells(Rows.Count, "J").End(xlUp).Row
If Cells(i, "K").Value <> "" Then
If Cells(i, "J").Value = Cells(i, "K").Value Then Cells(i, "K").interiro.cplor = xlNone
End If
Next i
End Sub
No.4
- 回答日時:
こんばんは
既に的確と思われる回答がありますが・・・本当に
>K列が空白の場合は強制的に赤に
で良いのでしょか?・・ 初めの定義と異なるので少し気になりました
そういう意味では#3様のロジックが理にかなっているかと・・・
単純に日付や書式を比較していないのなら
.Value を .Text と変えれば良さそうにも思います。。が
叱られるかも知れませんね。。
No.2
- 回答日時:
ちょっと付け足しましたがこんなんで良いのではないでしょうか
Sub 比較()
Dim i As Long
Range(Cells(2, "K"), Cells(Rows.Count, "K")).Interior.Color = xlNone
For i = 2 To Cells(Rows.Count, "J").End(xlUp).Row
If Cells(i, "J").Value <> Cells(i, "K").Value Or Cells(i, "K").Value = "" Then Cells(i, "K").Interior.Color = vbRed
Next i
End Sub
No.1
- 回答日時:
Next iの前に以下を追加する。
If Cells(i, "K").Value="" then
Cells(i, "K").Interior.Color = vbRed
endif
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) このマクロの説明文を教えてほしいです。 1 2023/01/12 09:17
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) セルの値を比較してセルの値の色を変更するには 4 2022/05/22 20:28
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B列の最終行までA列をオート...
-
VBAで指定範囲内の空白セルを左...
-
targetをA列のセルに限定するに...
-
VBAのコードを教えてください
-
VBscriptでExcel sheetの並び替...
-
vba 2つの条件が一致したら...
-
エクセルVBAにて =A1=B1とすれ...
-
VBAコンボボックスで選択した値...
-
JTableの行の幅設定
-
VBA とびとびの列を結合させる
-
Changeイベントでの複数セルの...
-
VBマクロ 色の付いたセルを...
-
スプレッドシートのデータをGAS...
-
VBA。壁の間隔Xミリの中に、5...
-
Excel 複数列から語句を含む行...
-
エクセル マクロ 後列から条件...
-
Excelで、あるセルの値に応じて...
-
VBA 何かしら文字が入っていたら
-
特定の条件に合致したセルを別...
-
Excel VBA 足し算の問題を自動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報