Я работаю с идентификаторами областей, чтобы создать специальные фильтры для работников, которые также имеют уникальный идентификатор, эти идентификаторы автоматически генерируются БД, где первые цифры относятся к конкретному сотруднику, а затем код области, где некоторые являются целыми числами и другие строки.
Например:
981505 '9815 is employee id and 05 his area
1340A '134 is employee and 0A his area (aphanumeric are managers)
Для числовых данных у меня нет проблем с выполнением .NumberFormat = "00####"
, но для буквенно-цифровых символов я не могу применить ту же логику, я попытался сделать IF:
If Len(pd.Range("C2:C" & fi).Value) < 10 And pd.Range("C2:C" & fid).Value Then
pd.Range("C2:C" & fid).Value = WorksheetFunction.Rept("0", 9 - Len(pd.Range("C2:C" & fid).Value))
End If
А также использование VBA WorksheetFunction
возвращает ошибку not optional
:
pd.Range("C2:C" & fid).Value = WorksheetFunction.Text("00########")
Что мне нужно:
00981505 'Lead zeros
0001340A 'I need lead zeros for future records as id's fluctuate a lot ( i don't know what process goes in the DB for the ids
Ради скорости и требований мне нужно сделать это в VBA, любая помощь?