2015-08-18 31 views
0

我試圖運行VBA用下面的語句一個循環:VBA中的更大/更小的語句故障?

... 
If Range("K" & h).Value >= mingreen Then 
... 

H開始在4,和K4的值是0.75(但它從一個公式得出)。 mingreen是0.5。所以聲明應該是真實的。但不知怎的,它返回false。實際上,當一個單元格是一個公式時,似乎這個> =語句完全不起作用。爲什麼是這樣的,有什麼方法可以解決它?

+0

什麼數據類型是'mingreen'?變體,雙?你有沒有嘗試過使用'Value2'而不是'Value'? – Bond

+0

你可以發佈'minigreen'的類型和你正在使用的公式嗎?我可以在我的Excel上運行它,它工作(注意:'minigreen'是一個'Integer','Dim minigreen as Integer:minigreen = .5')。確保'h'也是一個'Integer'。當我使用這一行時,它的作用如下:'如果Range(「K」&4).Value> = minigreen然後debug.print「True!」',這與'Dim minigreen as Integer'一樣。 – BruceWayne

+2

@BruceWayne - 當他有浮點值時,爲什麼使用整數進行測試? 「雙」是一個更好的選擇。你的'minigreen = .5'就會變成'0'。 – Bond

回答

0

確保您使用的是正確的書和紙,並嘗試value2

If (Thisworkbook.sheets("nameOfSheet").Range("K" & h).Value2 >= mingreen) Then