我在 VBA 中有一个 IF 函数,其中有一个数学公式:- (Cells(i3, 10).Value > 30)
我遇到的问题是第 10 列中的值都是字母数字。例如,它们都是“1 - 难”、“2 - 中等”、“3 - 容易”。
无论如何让VBA只看数字所以当它测试值是否超过30时,它真的有效吗?
谢谢
最佳答案
val
功能应该做你需要的。它返回字符串左侧的数字,直到找到非数字字符(如果字符串左侧不包含数字,则为 0)
debug.print val("1 - Hard") ' prints 1
debug.print val(" 31 - Something else") ' prints 31
debug.print val("123abc") ' prints 123
debug.print val("x 2 - You name it") ' prints 0
debug.print val("-31.5.3 - Negative") ' prints -31.5
因此,只需更改您的 if:
if val(Cells(i3, 10).Value) > 30 then
关于Excel VBA - 只取单元格中的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44309526/