使用VBA时,如何让Excel显示尾随的零?

使用VBA时,如何让Excel显示尾随的零?,excel,formatting,vba,Excel,Formatting,Vba,我有一个输入字段,用户在其中输入一个数字“X.XXXXX” 然后,当按下按钮时,我使用一些VBA将该数字复制到另一张纸上。当数字以0或多个零结尾时,就会出现问题。例如,以数字5.46770为例。我将单元格格式化为显示5位小数。但是,如果尾随数字为0,Excel仍然认为该值为5.4677,用户对此一无所知。因此,当我的宏从单元格中提取值时,它需要5.4677与5.46770。我想弄清楚的是如何让我的VBA代码提取尾随的0。有什么想法吗?5.4677的值与5.46770的值相同;他们是平等的 如果您

我有一个输入字段,用户在其中输入一个数字“X.XXXXX”


然后,当按下按钮时,我使用一些VBA将该数字复制到另一张纸上。当数字以0或多个零结尾时,就会出现问题。例如,以数字5.46770为例。我将单元格格式化为显示5位小数。但是,如果尾随数字为0,Excel仍然认为该值为5.4677,用户对此一无所知。因此,当我的宏从单元格中提取值时,它需要5.4677与5.46770。我想弄清楚的是如何让我的VBA代码提取尾随的0。有什么想法吗?

5.4677的值与5.46770的值相同;他们是平等的

如果您试图获取与单元格格式相同的字符串,请尝试:

cell.Text

根据您对数字所做的操作,您可以使用前面的单引号设置单元格值。它将强制它像文本一样显示,前导/尾随零与否。即:

CELL2.VALUE = "'" & FORMATNUMBER(CELL1.VALUE,5)

是否只是您希望的目标格式为小数点后5位?我想我的问题是,从计算的角度来看,你损失了什么。源格式已经是5位小数,因为我将用户输入的单元格设置为一个带5位小数的数字。没有对该数字进行计算。它被连接到一个字符串的末尾以创建一个便条。啊,我知道@Richard是从哪里来的了。您可以将其输入为5位小数,格式为文本,然后当连接时,它将具有所有0。这不就是实际值,而不是显示值吗?该值首先没有0?编辑:在输入数字之前,单元格必须格式化为文本,否则0不会显示。@Joe我在一个数字格式为0.00的单元格中运行了一个值为123.4的快速测试,该单元格的文本计算结果为“123.40”。实际值以cell.value为单位。也许我做错了什么。