任何人都可以在vba中查看下面的代码。
wb2.ActiveSheet.Range("K" & lrow3 + 1).Value = "(" & wb2.ActiveSheet.Range("K" & lrow3 + 1).Value * -1 & ")"
这只输出
-24.5
如果单元格的值为负,则该公式将转换单元格中的值并将其放在括号内。感谢。
答案 0 :(得分:2)
以此为指导:
将负值复制到单元格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;;
将显示正值作为整数,负值显示前导-
,隐藏零和隐藏文字。
答案 1 :(得分:1)
在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
答案 2 :(得分:0)
选择您的范围,然后转到格式化单元格 ... - &gt; 自定义,然后输入:
_(* #,##0_);_(* (#,##0);_("-");_()
这将取消您的负值并将其在括号内噘起