Excel VBA "End If без блока If" – ошибка VBA

Вопрос:

Я не могу понять, почему VBA кричит на меня на этом. Очень простой код, только один оператор if, и он явно имеет “Запуск” If и соответствующий End If. Я разработчик VB.NET, поэтому это может быть разница в синтаксисе, который мне не хватает.

 Sub splitter()
Dim line() As String
Dim rng As Range
Dim row As Range
Dim cell As Range
For Each row In rng.Rows
If row.Value <> "" Then
line = Split(Range(row, 1), ",")
Select Case line(0)
Case "Desktop"
Range(row, 8).Value = "Desktop"
Case "Laptop"
Range(row, 8).Value = "Laptop"
Case "Server"
Range(row, 8).Value = "Server"
Case Else
Range(row, 8).Value = "N/A"
End If
Next
End Sub

В частности, конечный результат заключается в том, что он заполнит раскрывающийся список “Child” (Range (строка, 8)) на основе выбора, сделанного из раскрывающегося списка “Parent” (Range (row, 1)), Поскольку возникает вопрос, причина, по которой я делаю это с помощью VBA, заключается в том, что я могу использовать функцию Split() так, как это делают элементы в раскрывающемся списке “Родитель”. “Рабочий стол, Dell, 745”. Кроме того, я лучший программист, чем разработчик excel.

Лучший ответ:

Ваш оператор выбора нуждается в завершении:

Select Case line(0)
   Case "Desktop"
       Range(row, 8).Value = "Desktop"
   Case "Laptop"
       Range(row, 8).Value = "Laptop"
   Case "Server"
       Range(row, 8).Value = "Server"
   Case Else
       Range(row, 8).Value = "N/A"
End Select

Оцените статью
TechArks.Ru
Добавить комментарий