Dim testtext As String
testtext = Worksheets("Sheet2").Range("B6").Value
Worksheets("Sheet2").Range("B7").Value = testtext

将一个单元格的内容简单复制到另一个单元格中。但是当 B6 的内容是 '02345 时我遇到了问题 - 在运行宏 B7 包含 2345 之后我不想丢失前导零。我尝试在代码的第二行用 .Value 替换 .Text ,但这没有帮助。

最佳答案

如果将 .NumberFormat 属性更改为“@”,它将在单元格中写入 02345。

Dim testtext As String
testtext = Worksheets("Sheet2").Range("B6").Value
Worksheets("Sheet2").Range("B7").NumberFormat = "@"

Worksheets("Sheet2").Range("B7").Value = testtext

这是有效的,因为标准单元格格式读取一个带有前导 0 的数字作为数值,因此前导 0 被删除。
通过强制 Excel 在该特定单元格上使用文本格式,它不会将其视为数值,而是将其视为纯文本。

关于vba - Excel VBA - 以 0 开头的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33895931/

10-12 13:49