0
ExcelのVBAプログラムをセットアップしました。このプログラムは、特定の行の複数のセルの条件が等しい場合に行内のセルを強調表示します。 (下記のコードを参照)デバッガにエラーが表示されず、指定されたセルが強調表示されません。VBAプログラムが正しく実行されていない
以下のサンプルデータでは、ケース1の行(1 = 1であるため)と(10 = 10)でセルが強調表示されます。どのようにこれを動作させるための任意の提案?
Sub x()
Dim r As Integer
Dim c As Integer
With Worksheets(1)
For r = 1 To .Range("B" & Rows.Count).End(xlUp).row
c = .Cells(r, Columns.Count).End(xlToLeft).Column
If Cells(r, 3).Value = Cells(r, 6).Value & Cells(r, 4).Value = Cells(r, 7).Value Then
Cells(r, 13).Interior.ColorIndex = 46
Application.ScreenUpdating = True
End If
Next r
End With
End Sub
サンプルデータ:
Case_1 HT 1 10 STD 1 10 0.008893 0.02564 71 0.35 0.7297
Case_2 HT 1 10 HT 1 15 -0.04434 0.02564 71 -1.73 0.0881
Case_3 HT 1 10 STD 1 15 0.008893 0.02564 71 0.35 0.7297
なぜ条件付き書式設定を使用しないのですか?とにかく、 'If ... Then'ステートメントで '&'を 'And'に置き換えて、それが何であるかを見てください。 (条件付き書式設定はどのマクロよりもずっと高速です)。 –
また、それらの '.value'プロパティは必要ありません。 –
あなたは文法上の問題がたくさんあります.'If condition1 And condition2 Then' ..(&は連結です)。また、 'With'ブロック内で、' Cells() 'の代わりに' .Cells() 'を使いたいでしょう。変数' c'を宣言し、決してそれを使用しません。最後に、 'Application.ScreenUpdating'を有効にしますが、関数の任意のポイントで' false'に設定していません。 –