Я написал этот код для создания списка адресов электронной почты из номеров филиалов. Все адреса находятся в следующем формате: [email protected]
String Formatting Lost
Проблема состоит в том, что некоторые номера ветвей являются 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
@AlistairWeir: Пожалуйста, не чувствуйте себя обязанным принять самый быстрый ответ. SO дает качественные ответы более быстрыми. – eggyal
Это хороший ответ, я согласен и поддерживаю себя, но программа должна быть умнее, чем конечный пользователь, создающий документ Excel. Что делать, если пользовательский формат был случайно потерян? При заполнении или форматировании кода это не имеет значения. –
+1 да ты прав :) –