作者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/cn.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