括号不被识别
问题描述:
任何人都可以在vba中查看我的代码。括号不被识别
wb2.ActiveSheet.Range("K" & lrow3 + 1).Value = "(" & wb2.ActiveSheet.Range("K" & lrow3 + 1).Value * -1 & ")"
这仅输出
-24.5
即公式将值转换在细胞如果单元的值是负的,并把它在括号内。谢谢。
答
请以此为参考:
将负值复制到单元格A2中。然后格式化A2以在括号中显示负值,并带有两位小数。
Sub test()
Range("A1").Copy Range("A2")
Range("A2").NumberFormat = "0.00;(0.00);0"
End Sub
没有被转换。没有括号连接。单元格只是用自定义数字格式进行格式化。在Excel中的数字格式的语法
<format for positive values>;<format for negative values>;<format for zeroes>;text
例如,自定义格式
0;-0;;
将显示为整数,负值正值与一家领先的-
签,隐藏零和隐藏文本。
答
选择范围,然后去单元格格式 ... - >定制,并键入:
_(* #,##0_);_(* (#,##0);_("-");_()
这将会把你的负值和噘嘴它括号内
+0
有什么办法可以将其转换为VBA? – ramj
答
在VBA代码:
if wb2.ActiveSheet.Range("K" & lrow3 + 1).Value<=0 then
wb2.ActiveSheet.Range("K" & lrow3 + 1).Value = wb2.ActiveSheet.Range("K" & lrow3 + 1).Value * -1
else
wb2.ActiveSheet.Range("K" & lrow3 + 1).numberformat = "@"
wb2.ActiveSheet.Range("K" & lrow3 + 1).Value = "(" & wb2.ActiveSheet.Range("K" & lrow3 + 1).Value * -1 & ")"
end if
你想有这样的公式设置为这个小区? –
@ShaiRado是的,这就是我想要做的。 – ramj
为什么你不使用数字格式?看起来你正试图重新发明轮子。 – teylyn