下面是excel vba代码的片段 . 我正在尝试将百分比值和数值样本大小值(均在单独的单元格中)组合到一个单元格中
但是,%值有许多小数 . 即使我已将格式更改为仅显示1个十进制值,但当我单击该单元格时,它仍会显示多个小数位 . 因此,当我组合2个变量时,小数位的全长与样本大小相结合,这不是我想要的 .
如何修剪这些不必要的小数位?
For j = Row_SourceStart To Row_SourceEnd
wbSource.Activate
wbSource_ACX.Select
Percentage_value = wbSource_ACX.Range("M" & j).NumberFormat = "0.0%"
Sample_size = wbSource_ACX.Cells(j, 12)
wbTarget.Activate
Set wbTarget_ACX = wbTarget.Worksheets(ArrayWS_Source(0))
wbTarget_ACX.Select
wbTarget_ACX.Cells(Row_TargetStart, j + 5) = Percentage_value & " (" & Sample_size & ")"
Next j
2 回答
单元格中的值仅形成为圆整百分比 . Excel存储计算的实际值,并在后台显示所有小数位 . 单击单元格并查看公式栏中的值时,会看到此信息 .
您可以通过多种方法将值修剪为VBA中的1位小数 . 在VBA中有
Round
函数,或者您可以使用其中一个也进行舍入的工作表函数 . 以下是一些示例(示例中的数字写在活动工作表的单元格A1中):在VBA中,您可以使用
round
函数 .如果您的百分比值已在工作表中正确格式化,请使用单元格的
text
-property:否则自己计算值(并添加%-sign)
顺便说一句:您可以(并且应该)删除所有
activate
和select
命令 - 它们不是必需的 .