我是新手,如果我做错了,请道歉。
我在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
答案 0 :(得分:0)
您是否尝试将D
的类型设置为String
?
如果您真的想要对它们进行数字化处理,例如添加/乘以等等,则只需Long
即可。
如果这些数字有前导零,那么他们可能并不是真的"数字"。
答案 1 :(得分:0)
格式为@
的单元格是字符串类型格式。因此,当将其转换为数字格式时,您将丢失任何尾随零(如果您的单元格包含除数字之外的任何内容,则会出错)。
因此,您应该Dim D As String
以保留单元格中值的格式。