我在电子表格中存储了一些数据,这些数据在Debug.Print
之后正常运行
存储的数据是一个长数字,以一个或多个0
开头。
我尝试使用以下几个不同的代码段,但没有一个输出我想要的内容......
.Cells(LR + 1, index).value = "00049875142"
输出 49875142
.Cells(LR + 1, index).value2 = "0008789875949898451142"
输出: 8.78988E + 18
问题:在将数据重新导入电子表格时,如何让输出在字符串中添加前导0
?
答案 0 :(得分:3)
确保在将值存储到文本之前将单元格格式化为文本。
.Cells(LR + 1, index).NumberFormat = "@"
.Cells(LR + 1, index).value = "00049875142"
虽然不一次为每个单元格设置格式会更有效,但在循环和设置值之前会对范围进行设置。
答案 1 :(得分:2)
您可以使用自定义数字格式添加前导零(在多个单元格中似乎不是标准格式),也可以将数据作为文本输入。
.Cells(LR + 1, index).value = "'00049875142"
'more loops
.Cells(LR + 1, index).value2 = "'0008789875949898451142"
第二个需要在任何情况下作为文本输入,因为它大于15位且15位精度规则将截断重要数据。
.Cells(LR + 1, index).numberformat ="00000000000"
.Cells(LR + 1, index).value = 49875142
'more loops
.Cells(LR + 1, index).numberformat ="@"
.Cells(LR + 1, index).value2 = "0008789875949898451142"