string格式丢失

我已经写了这个代码来创build分支号码的电子邮件地址列表。 所有的地址格式为: lp0000@xxx.co.uk

问题是一些分支号码是3位数字,所以在这些前面插入一个零例如681变成0681.我通过使用自定义数字格式0000来做到这一点,但是因为当电子邮件地址是实际值时,每个数字仍然是000创造了起点零丢失。

我可以写更多的代码来复制数字格式吗?还是我需要写一些东西来先find所有的三位数字,然后在它们之前插入一个0。

 Option Explicit Sub Pop_Emails() Dim brno As String Dim i As Integer Dim wks As Worksheet Set wks = Sheets("1A") i = 2 Do While i <> 191 With wks brno = .Cells(i, 1).Value .Cells(i, 3) = "lp" & brno & "@xxxx.co.uk" End With i = i + 1 Debug.Print brno Loop End Sub 

如果(i, 1)是用自定义格式"0001"

  brno = .Cells(i, 1).Value 

将是1 ,简单地得到格式化的值:

  brno = .Cells(i, 1).Text 

您可以在您的VBA代码中应用数字格式:

 .Cells(i, 3) = "lp" & Format(brno, "0000") & "@xxxx.co.uk" 

Excel可能将其视为一个数字,所以它会自动为您转换它。 Gee谢谢MS。

Anywho …没什么大不了的,只要用PadLeft()来纠正它。

 brno = .Cells(i, 1).Value.PadLeft(4, "0")