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")