作者aovo ()
看板Office
標題[問題] VBA判斷儲存格中值的大小
時間Thu Mar 2 11:55:51 2017
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:Excel
版本:2013
請教各位專家高手,這裡遇到的狀況是某資料區範圍A1:B100 (100 rows、2 columns)
當中每個儲存格是先用工作表函數Average在他處求得的平均值,之後用VBA分別比較
每一列A欄跟B欄的值的大小,但卻出現大部分結果判斷正確,只有某幾列會把A、B兩欄
相等的值判斷成"smaller"或"bigger",VBA判斷式如下,再請教各位了,謝謝。
For i = 1 to 100
If Cells(i, 1) > Cells(i, 2) Then
Cells(i, 3) = "bigger"
ElseIf Cells(i, 1) < Cells(i, 2) Then
Cells(i, 3) = "smaller"
Else
Cells(i, 3) = "--"
End If
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.194.224
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1488426953.A.297.html
1F:→ soyoso: 提供相等時判斷成"smaller"或"bigger"的檔案應會較清楚 03/02 12:13
2F:推 ljuber: 是不是average的時候沒有取round ? 03/02 12:59
3F:→ aovo: 感謝兩位高手回答,我把簡檔連結貼上 03/02 14:41
5F:→ soyoso: 可於巨集內配合round或worksheetfunction.round來排除 03/02 14:58
6F:→ soyoso: 另外vba內round為四捨六入五成雙的規則和 03/02 15:13
7F:→ soyoso: worksheetfunction.round不同,再請留意 03/02 15:14
9F:→ aovo: 再次感謝高手! 03/02 16:08
10F:→ aovo: 可否再請教高手,為何VBA在不加上round函數時會有本文所述 03/02 16:49
11F:→ aovo: 情況,而且感覺是隨機發生,即使是比較兩個已被整除至小數點 03/02 16:49
12F:→ aovo: 後數位的值,還是無法100%正確判斷大小 03/02 16:49
13F:→ soyoso: 有可能是浮點數的問題,如儲存格a46和b46的值並不相同 03/02 16:59
17F:→ soyoso: 才回值字串-- 03/02 17:05
18F:→ aovo: 高手謝謝! 03/02 17:19
20F:→ soyoso: Excel公式判斷 03/02 17:57
21F:→ aovo: 感謝! x 10000 03/02 22:13