Vba 将十进制设置为百分比,显示0,98的100%

Vba 将十进制设置为百分比,显示0,98的100%,vba,format,Vba,Format,我正在以%显示进度条 当它几乎达到最终目标(如0,98或0,99)时,它显示出100% 这是代码 main.Shapes("shape1").DrawingObject.Text = Format(result, "(0%)") 其中,result从0,00降到1,00 如果结果还不是100%,有没有办法不显示100%?只需给它尽可能多的小数位数,而不必对数字进行四舍五入 result=0.99999 fmtPattern=“0%” 如果结果>=0且结果0,则 fmtPattern=“0.”字

我正在以%显示进度条

当它几乎达到最终目标(如0,98或0,99)时,它显示出100%

这是代码

main.Shapes("shape1").DrawingObject.Text = Format(result, "(0%)")
其中,
result
从0,00降到1,00


如果
结果
还不是100%,有没有办法不显示100%?

只需给它尽可能多的小数位数,而不必对数字进行四舍五入

result=0.99999
fmtPattern=“0%”
如果结果>=0且结果<1,则
deplaces=Len(CStr(结果))-4
如果位置>0,则
fmtPattern=“0.”字符串(deplaces,“0”)和“%”
如果结束
如果结束
main.Shapes(“shape1”).DrawingObject.Text=格式(结果)(“&fmtPattern&”)

什么类型的形状是
shape1
?好吧,我在Insert>Forms>TextBox中创建的,从来没有在代码处为他设置过类型。无法复制这种行为-可能会添加屏幕截图?什么是
main
?这是哪个应用程序?这肯定会影响代码。。。