2017-09-12 72 views
0

我一直有這個if語句的問題。我試圖突出顯示一個範圍,並說明它是否大於某個數字,然後我切換數字格式。這裏是我的代碼與If語句存在問題

wSD2是我的工作表。我只是做了一個if語句爲第一個範圍

With WSD2 

    If Range(("B3"), ("E" & .Rows.Count)) > 10000 Then 
    .Range(.Range("B2"), .Range("E" & .Rows.Count)).Select 
    Selection.Style = "Comma" 
    Selection.NumberFormat = "0,000" 
    End If 

    .Range(.Range("H2"), .Range("J" & .Rows.Count)).Select 
    Selection.Style = "Comma" 
    Selection.NumberFormat = "0,000" 

    .Range(.Range("F2"), .Range("G" & .Rows.Count)).Select 
    Selection.Style = "Percent" 
    Selection.NumberFormat = "0.0%" 
End With 

如果在該範圍內的數量不大於10000,那麼它不應該碰的數量。

任何幫助將不勝感激。

感謝,

+0

還你的第一個'If'語句不指'With'聲明。將'.'添加到「錨點」範圍到'WSD2'。 – BruceWayne

+2

您不能在一系列值上使用'>'等操作符,您需要循環並逐個測試。 –

回答

1

您需要檢查每個單元在這個範圍內,我想。你也應與數據,而不是使用.Select直接工作:

With WSD2 
    For Each cel In .Range(.Range("B3"), .Range("E" & .Range("E" & .Rows.Count).End(xlUp).row)) 
     If cel.Value > 10000 Then 
      cel.Style = "Comma" 
      cel.NumberFormat = "0,000" 
     End If 
    Next cel 
... 
End With 
+0

完美工作。謝謝! – GCC