我正在尝试将同时具有正负百分比的列转换为普通数字。例如,-3.5%到3.5%。将正百分比转换为简单数字是没有问题的。但是对于负数,result显示为FALSE。
我怀疑问题出在开头的这个字符−0.27%,它与通常的减号(-0.27%)不同。如何编写宏来解决这个问题?
宏代码:
ActiveCell.FormulaR1C1 = _
"=IF(EXACT(LEFT(RC[-4],1),""""),RIGHT(RC[-4],LEN(RC[-4])-1)*-1*100,IF(EXACT(LEFT(RC[-4],1),0),RC[-4]*100))"发布于 2020-08-14 13:48:45
用-替换−,然后转换它。
试一试
ActiveCell.FormulaR1C1 = "=ABS(SUBSTITUTE(RC[-4],""−"",""-""))"

发布于 2020-08-14 13:41:02
试一试
Sub Macro1()
ActiveCell.Value = "=ABS(RC[-4])*100"
ActiveCell.NumberFormat = "General"
End Sub发布于 2020-08-14 13:52:02
你不需要这方面的宏,你可以简单地使用Excel的内置函数ABS
如下所示
=ABS(A2)*100
如果你需要使用VBA自动化,那么你也可以使用ABS函数。
https://stackoverflow.com/questions/63407003
复制相似问题