2014-05-13 100 views
1

我正在使用VBA,我想問一些關於我創建的Excel的幫助。如果單元格的值和行數均勻,我想更改背景顏色。 這裏是我的代碼:根據數值和行數更改背景顏色

Sub ChangeColor() 
Dim rw as Variant 
Dim rng As Range 

Set rng = Range("B10:H10000") 

For each rw In rng.Rows 
    If rw.Row Mod 2 = 0 And (I dont know what to put here) Then 
    rw.Interior.Color = RGB (183,222,232) 
    End If 
Next rw 
End Sub 

如果我可能會問如何讓我的應用程序的進程快於正常,因爲它會減慢,因爲已輸入的數據(的下跌或多或少1000 +或幾乎10K)。

我已經解決了行數是偶數,請幫助我的價值。

+1

爲什麼不使用條件格式?使用'= AND(MOD(ROW(),2)= 0,NOT(ISBLANK(A1)))'等公式。 – Chel

+0

單元格上的條件格式還是應該放在宏裏面?我正在考慮放置一個if語句,就像我創建的代碼一樣,以便以編程方式完成。無論如何感謝您的想法和幫助,但我仍然選擇在宏內執行 –

+1

「條件格式」是在工具欄主頁選項卡上的樣式部分中找到的控件。您需要選擇範圍,然後單擊新規則並使用公式。這會比運行上面的代碼更動態地更新,所以它可能是最好的解決方案。如果你在谷歌搜索,我相信你可以找到一步一步教程創建一個條件格式,如果你需要更多的幫助。 – Davis

回答

1

CF應該是快了很多,比VBA此:

SO23637299 example

我選擇的公式是:

=AND(ISEVEN(ROW()),B10<>"") 
相關問題