背景:
我需要能够将值的格式设置为12.34%,而不是0.1234。
问题:
我找不到方法来提取百分比格式,因为Excel / VBA将格式自动转换为十进制。
我已经尝试过(以及其他尝试):
If CStr(Cells(j, i).Value) Like "*%*" Then
' add incorrectly formatted data location to report
End If
'I've also tried
If Cells(j, i).NumberFormat = "##.##%" Then
我最初尝试不使用字符串转换功能(Cstr()),但产生的结果相同。
我已经看到format()函数存在,但是它转换为不同的格式,而不是执行检查。
关于在不使用excel进行自动转换的情况下如何检查单元格的实际值(不更改数据)的任何想法?
我想尽可能避免使用正则表达式,因为它速度慢且数据集很大。
使用.Text
而不是.Value
:
If CStr(Cells(j, i).Text) Like "*%*" Then
(您甚至不需要CStr
)