Regex 在Excel中用VBA获取数字单元格的值

Regex 在Excel中用VBA获取数字单元格的值,regex,vba,excel,Regex,Vba,Excel,所以我有这样的部分列: 8.01 8.02 8.03 8.04 8.05 8.06 8.07 8.08 8.09 8.10 等等等等。我将其设置为始终显示尾随零(8.10和8.20),但当我使用VBA获取单元格的值时,它仍然显示8.1和8.2。我正在使用 x = Cells.Value 但它不会按我需要的方式工作。出于排序和其他原因,我不得不将列保留为数字,因此我认为更改类型并不是一个真正的选项。如何在VBA中将尾随零的数字分配给变量?我需要用REGEX或其他什么运行测试用例吗?作为评论的

所以我有这样的部分列:

8.01
8.02
8.03
8.04
8.05
8.06
8.07
8.08
8.09
8.10
等等等等。我将其设置为始终显示尾随零(8.10和8.20),但当我使用VBA获取单元格的值时,它仍然显示8.1和8.2。我正在使用

x = Cells.Value 

但它不会按我需要的方式工作。出于排序和其他原因,我不得不将列保留为数字,因此我认为更改类型并不是一个真正的选项。如何在VBA中将尾随零的数字分配给变量?我需要用REGEX或其他什么运行测试用例吗?

作为评论的后续,这一个有效:

x = Cells(1,1).Text

您可以将
“0.00”
更改为所需的任何其他格式,例如

x = Format(Cells(1,1).Value, "Standard")

上面的代码假设
x
String
type

作为旁注,我无法测试Len,因为节号变成了十(即9.09 10.10、11.01等)。使用
x=单元格(1,1)。文本
x=格式(单元格(1,1)。值,“0.00”)
。我想
x
有字符串类型。你是如何声明
x
的?你能详细说明为什么变量必须保持尾随零吗?数字的准确度取决于它们的有效数字。例如,
8.10
将始终解析为
8.1
,除非你将值存储为字符串。是的!谢谢!
x = Format(Cells(1,1).Value, "Standard")