在数组输出中保留前导零

时间:2014-10-06 22:17:37

标签: excel excel-vba vba

我是新手,如果我做错了,请道歉。

我在Excel中有一个VBA子程序,用于扩展值范围。

例如,111-113变为111,112,113。当我必须使用前导零扩展值时,会出现问题。我将它们全部作为NumberFormat =“@”并且前子数据确实显示前导零。它们在处理过程中丢失了,我怀疑它是我的变量类型的问题,但老实说我不知道​​。

我只是粘贴下面代码的相关位。任何帮助将不胜感激。

Dim ArrayData As Variant 
Dim ArrayOut As Variant
Dim X As Long
Dim D As Long
Dim Index As Long    
For D = ArrayData(X, 1) To ArrayData(X, 2)
    Index = Index + 1
    ArrayOut(Index, 2) = D

2 个答案:

答案 0 :(得分:0)

您是否尝试将D的类型设置为String

如果您真的想要对它们进行数字化处理,例如添加/乘以等等,则只需Long即可。

如果这些数字有前导零,那么他们可能并不是真的"数字"。

答案 1 :(得分:0)

格式为@的单元格是字符串类型格式。因此,当将其转换为数字格式时,您将丢失任何尾随零(如果您的单元格包含除数字之外的任何内容,则会出错)。

因此,您应该Dim D As String以保留单元格中值的格式。