Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何应用自定义格式,如“引用”;正文:“;Excel VBA中的0.0%_String_Excel_Vba_Formatting - Fatal编程技术网

String 如何应用自定义格式,如“引用”;正文:“;Excel VBA中的0.0%

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如何实现这一点是通

我希望Excel VBA根据用户控件编写数字或百分比

在Excel中,我可以按Ctrl键1应用自定义格式,如“文本:”0.0%或“文本:”0.0

我已成功写入文本,然后根据控件值使用Format()或Round()。但是,格式有两个小数位,我想要一个小数位

下面是一些说明性代码。如上所述,我希望控制百分比的小数位数(例如0、1、2)

任何关于如何做到这一点的建议都会很好。在这两种情况下,我都将0.000001添加到dvalue,因为我知道这有助于保持传统的舍入精度

干杯
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
,而不是创建自定义单元格格式并将其应用于目标单元格。