我已编写此代码以创建分支编号的电子邮件地址列表。所有地址都采用以下格式:
lp0000@xxx.co.uk
问题是一些分支号码是3位数,因此在这些分支号码的前面插入零号码。 681变为0681.我通过使用自定义数字格式0000
来完成此操作,但由于创建电子邮件地址时每个格式的实际值仍为000
,因此起始零将丢失。
我可以编写更多代码来复制数字格式,还是需要先编写一些内容来查找所有三位数字,然后在它们之前插入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
答案 0 :(得分:7)
如果(i, 1)
为"0001"
并且采用自定义格式:
brno = .Cells(i, 1).Value
将为1
,以获取格式化的值:
brno = .Cells(i, 1).Text
答案 1 :(得分:4)
您可以在VBA代码中应用数字格式:
.Cells(i, 3) = "lp" & Format(brno, "0000") & "@xxxx.co.uk"
答案 2 :(得分:4)
Excel可能会将其视为数字,因此会自动为您转换。哎呀MS。
Anywho ......没什么大不了的,只需用PadLeft()
来纠正它。
brno = .Cells(i, 1).Value.PadLeft(4, "0")