String 如何应用自定义格式,如“引用”;正文:“;Excel VBA中的0.0%
我希望Excel VBA根据用户控件编写数字或百分比 在Excel中,我可以按Ctrl键1应用自定义格式,如“文本:”0.0%或“文本:”0.0 我已成功写入文本,然后根据控件值使用Format()或Round()。但是,格式有两个小数位,我想要一个小数位 下面是一些说明性代码。如上所述,我希望控制百分比的小数位数(例如0、1、2) 任何关于如何做到这一点的建议都会很好。在这两种情况下,我都将0.000001添加到dvalue,因为我知道这有助于保持传统的舍入精度 干杯String 如何应用自定义格式,如“引用”;正文:“;Excel VBA中的0.0%,string,excel,vba,formatting,String,Excel,Vba,Formatting,我希望Excel VBA根据用户控件编写数字或百分比 在Excel中,我可以按Ctrl键1应用自定义格式,如“文本:”0.0%或“文本:”0.0 我已成功写入文本,然后根据控件值使用Format()或Round()。但是,格式有两个小数位,我想要一个小数位 下面是一些说明性代码。如上所述,我希望控制百分比的小数位数(例如0、1、2) 任何关于如何做到这一点的建议都会很好。在这两种情况下,我都将0.000001添加到dvalue,因为我知道这有助于保持传统的舍入精度 干杯 Tim如何实现这一点是通
Tim如何实现这一点是通过更改给定
范围的范围.Style
和/或范围.NumberFormat
属性来实现的
例如:Selection.NumberFormat=“0.00000%”
一般来说,在ExcelVBA中了解这一点只需记录一个宏,在该宏中执行您希望在宏中执行的操作。停止录制,转到VBA窗口,查看模块1、模块2、。。。模块
实际上,您不需要对数字进行四舍五入以获得所需的格式,就像您在工作表中手动应用数字格式时不需要那样。这是通过更改给定范围的范围.Style
和/或范围.NumberFormat
属性来实现的
例如:Selection.NumberFormat=“0.00000%”
一般来说,在ExcelVBA中了解这一点只需记录一个宏,在该宏中执行您希望在宏中执行的操作。停止录制,转到VBA窗口,查看模块1、模块2、。。。模块
实际上,您不需要对数字进行四舍五入以获得所需的格式,就像您在工作表中手动应用数字格式时不需要那样。我认为这就是您需要的:
FormatPercent(1 + 0.000001, 1)
它的格式为百分比,第二个参数(本例中为1)是所需的小数点数
我想这就是你想要的:
FormatPercent(1 + 0.000001, 1)
它的格式为百分比,第二个参数(本例中为1)是所需的小数点数
我最初尝试过这个,在同一个单元格中没有任何文本都可以。但是,当包含文本时,它也不起作用。谢谢你的指点。在这两种情况下我都会使用Format()。好吧,祝你好运,我看到另一个答案让你上路了!我最初尝试过这个,但在同一个单元格中没有任何文本就可以了。但是,当包含文本时,它也不起作用。谢谢你的指点。在这两种情况下我都会使用Format()。好吧,祝你好运,我看到另一个答案让你上路了!感谢@pn7a给出下面的答案。我还发现,在使用format()时,您可以指定自己的格式,例如,将“百分比”改为“0.0%”<代码>格式(1+0.000001,“0.0%”
感谢@pn7a给出下面的答案。我还发现,在使用format()时,您可以指定自己的格式,例如,将“百分比”改为“0.0%”<代码>格式(1+0.000001,“0.0%”
等一下,格式化单元格不是为了改变单元格的外观,而不是像这样截断单元格中的值吗?.NumberFormat=“0.00%”和FormatPercent(range,2)之间有一个区别@Steven马丁嘿,史蒂文,我很久以前就发布过这个,所以我的记忆有点模糊。我同意你的观点,但问题是在字符串“Text:”后面附加“格式化”的百分比值,并将其赋给oRange
变量。出于这个原因,我建议格式化dvalue
,而不是创建自定义单元格格式并将其应用于目标单元格。等一下,格式化单元格不是为了改变单元格的外观,而不是像这样截断单元格中的值吗?.NumberFormat=“0.00%”和FormatPercent(range,2)之间有一个区别@Steven马丁嘿,史蒂文,我很久以前就发布过这个,所以我的记忆有点模糊。我同意你的观点,但问题是在字符串“Text:”后面附加“格式化”的百分比值,并将其赋给oRange
变量。因此,我建议格式化dvalue
,而不是创建自定义单元格格式并将其应用于目标单元格。