括号无法识别

时间:2016-07-27 07:08:39

标签: vba excel-vba excel

任何人都可以在vba中查看下面的代码。

 wb2.ActiveSheet.Range("K" & lrow3 + 1).Value = "(" & wb2.ActiveSheet.Range("K" & lrow3 + 1).Value * -1 & ")"

这只输出

-24.5

如果单元格的值为负,则该公式将转换单元格中的值并将其放在括号内。感谢。

3 个答案:

答案 0 :(得分:2)

以此为指导:

将负值复制到单元格A2中。然后格式化A2以在括号中显示负值,带有两位小数。

Sub test()
Range("A1").Copy Range("A2")
Range("A2").NumberFormat = "0.00;(0.00);0"

End Sub

enter image description here

什么都没有转换。没有括号连接。单元格格式化为自定义数字格式。 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);_("-");_()

这将取消您的负值并将其在括号内噘起