Добрый день!
Задача следующая:
Имеется два листа в Excel, на Листе 1 столбец с телефонами(4954907654,...), на Листе 2 Коды городов и названия( Москва 495, Питер 812)
Задачу решил с помощью словарей ...
Каждому номеру на первом листе нужно указать город:
Код |
---|
Dim a(), b(), i&
Dim kr As Integer
With CreateObject("Scripting.Dictionary")
'заполняем словарь
a = Sheets(2).[a1].CurrentRegion.Value
For i = 1 To UBound(a): .Item(a(i, 2)) = i: Next
b = Sheets(1).[a1].CurrentRegion.Value
For i = 2 To UBound(b)
kr = Mid(b(i, 1), 2, 3)
If .exists(kr) Then Worksheets("Данные").Cells(i, 2) = Worksheets("коды").Cells(.Item(kr), 1)
Next
End With
|
Но тут я застопорился вот над каким моментом: у меня все работает если только код города трехзначный!, но часто бывает что код города может иметь 4-5 знаков ... как мне в данном случае быть ... каким то образом я должен искать подстроку в строке ... подскажите ...