0

我在 Excel 宏中有代码来更改一些文本。例如,改变

文本 111

001

代码运行,并更改了文本,但我失去了前导零。我想保留前导零。我尝试了很多东西,比如

jRange.NumberFormat = "###"
.Replace "Text 333", "003", xlWhole, ReplaceFormat:=True

我还尝试在列上设置格式,例如:

jRange.Columns("G").NumberFormat = "###"

这是示例代码

Sub FixIt()
Dim jRange As Range
Set jRange = ActiveSheet.Range("G2:G1000")


With jRange

.Replace "Text 111", "001", xlWhole
.Replace "Text 222", "002", xlWhole
.Replace "Text 333", "003", xlWhole
.Replace "Text 444", "077", xlWhole

End With
End Sub
4

2 回答 2

2

作为起点,将整个工作表格式化为文本。通过单击列标题左侧和行标题上方的小按钮来执行此操作。这将选择整个工作表。

然后,在主页选项卡上,选择“数字”组中的“文本”。

如果有点严厉的话,那就行了。

另一种方法是,如果新单元格不是计算的一部分,则在每个数字前面加上一个单引号;例如

.Replace "Text 333", "'003", xlWhole, ReplaceFormat:=True
于 2013-05-29T14:16:55.100 回答
0

我知道这是一个老问题,但要更正确地回答它,正确的更改是将您之前的尝试 , 更改.NumberFormat = "###".NumberFormat = "000". 0s 充当始终可见的指南.NumberFormat,而#s 充当“如有必要”指南。

于 2015-09-11T17:44:44.733 回答