Как вставить строку ниже, если ячейка содержит значение - PullRequest
0 голосов
/ 28 октября 2019

Я хочу вставить строку ниже, если в одном столбце содержится 12345

Мой код не работает, потому что ничего не вставляется

Sub Macro 1()
    Dim i as Integer, inttofind as Integer, app as range, cell as   range
    inttofind=12345
    For i=10 to 6000
        If cells(I,137).Value = inttofind Then
            Cell.offset(1).insert
        End if
    Next I
End sub

1 Ответ

1 голос
/ 28 октября 2019

У вас есть несколько проблем с вашей функцией.

Помимо того, что уже было указано, я бы предложил полностью квалифицировать ваш диапазон с помощью рабочей книги и рабочей таблицы. Таким образом, если макрос выполняется, когда вы находитесь в другой книге / листе, он не вызовет проблем.

Sub Macro1()
    Dim RngToCheck As Range
    Set RngToCheck = ThisWorkbook.Sheets("Sheet1").Range("EG10:EG6000")
    Dim ValToFind As Long
    ValToFind = 12345

    Dim i As Long
    For i = RngToCheck.Rows.Count To 1 Step -1
        If RngToCheck(i).Value = ValToFind Then
            RngToCheck(i + 1).EntireRow.Insert
        End If
    Next i
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...