VBA Insert установить количество строк, если строка найдена - PullRequest
0 голосов
/ 17 июня 2020

Я плохо знаком с макросами в Excel и пытаюсь ускорить процесс. Мне нужно добавить разное количество пустых строк, если в ячейке над ним присутствует определенный текст. Не равно, но содержит.

Например, если A1 содержит «Яблоки», добавьте две пустые строки ниже. Если в A6 есть «Сливы», добавьте четыре пустые строки ниже, et c.

Теперь у меня есть следующее:

    For a=1 To ActiveSheet.Cells(Rows.Count,1).End(x1Up).Row
    If ActiveSheet.Cells(a,1).Value = “Apples” Then
    ActiveSheet.Rows(2).Insert
    a = a+1 

    ELSE
    If ActiveSheet.Cells(a,1).Value = “Plums” Then
    ActiveSheet.Rows(4).Insert
    a = a+1

    End If


    End Sub

Пока что у меня ошибка компиляции, заявив «Блокировать, если без конца, если», хотя я считаю, что закрыл их обоих. Я не уверен, правильно ли я сравниваю или ищу строку (имея в виду мое использование = "Apples"), но не могу заставить ее запустить вообще, чтобы проверить эту часть.

1 Ответ

0 голосов
/ 18 июня 2020
For a = 1 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    If TypeName(ActiveSheet.Cells(a, 1)) = "String" Then
        If ActiveSheet.Cells(a, 1).Value = "Apples" Then
            ActiveSheet.Rows(2).Insert
            a = a + 1
            
        ElseIf ActiveSheet.Cells(a, 1).Value = "Plums" Then 'One error here
            ActiveSheet.Rows(4).Insert
            a = a + 1
            
        End If
    End If
Next 'And here too
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...