Добрый день!
Будьте добры, помогите создать метод, который будет принимать строку, и в зависимосоти от ее содержания возвращать соответствующий символ.
На практике, у меня есть список моделей, каждой из них нужно назначить "тип модели".
Определения "типа модели" происходит по ряду таких критериев:
1. Если строка (название модели) вмещает одну из строк которые я предвадительно записал в массив строк 1, тогда тип "a".
2. Если строка (название модели) заканчивается на одну из строк которые я предвадительно записал в массив строк 2, тогда типа "b".
3. Если строка (название модели) начинается на одну из строк которые я предвадительно записал в массив строк 3, тогда типа "z".
4. Если строка (название модели) полностью равна одной из строк которые я предвадительно записал в массив строк 4, тогда типа "q".
5. Если строка (название модели) начинается на одну из строк которые я предвадительно записал в массив строк 5, и при этом заканчивается на одну из строк которые я предвадительно записал в массив строк 6, тогда типа "u".
6. Если строка (название модели) вмещает одну из строк которые я предвадительно записал в массив строк 7, но не содержит при этом ни одной из строк которые я предвадительно записал в массив строк 8, тогда типа "k".
7. Если не выполнено ни одно из условий, тогда записать тип "s".
Только критерии надо брать из массива в коде, а не из таблицы на листе (ее для наглядности сделал).
Файл прикрепил, вот код:
Код |
---|
Sub определить_типы()
Dim mass1(), mass2(), mass3(), mass4(), mass5(), mass6(), mass7(), mass8() As Variant
' вмещает
mass1 = Array("AR", "F70", "N11F", "LR", "LLB")
' заканчивается
mass2 = Array("L60", "H00", "F60L", "N72", "K3")
' начинается
mass3 = Array("11", "13", "31", "33")
' равно
mass4 = Array("40400", "1884LST", "1785K")
' начинается на элемент из mass5 и заканчивается на элемент из mass6
mass5 = Array("31", "37", "51", "71", "76")
mass6 = Array("S00", "M00", "L00")
' если элемент из содержит mass7, но не содержит элемент из mass8
mass7 = Array("NF")
mass8 = Array("CO")
lr = Cells(1, 1).End(xlDown).Row
For i = 2 To lr
Cells(i, 2).Value = получить_тип_модели(Cells(i, 1).Value)
Next i
End Sub
Private Sub получить_тип_модели(model_name As String)
' тут опредиление типа
End Sub
|