Макрос для чтения значения ячейки, найти в таблице, если такое значение выходит, если есть, удалить строку таблицы и сдвинуть вверх

Забыли код:

Возвращает ошибку объектной переменной. Я попытался записать макрос, но Find не работает должным образом при копировании и вставке, а затем макрос записывает фактическую строку, в которой я нахожусь, а не переменную.

Вместо «Найти» я также попробовал «Поле Cells.AutoFilter: = 2, Criteria1: = x», но это не помогло вернуть класс диапазона автофильтра. Я застрял. Надеюсь, поможет.

Sub alta()
'
' alta Macro
x = Range("I3").Select
Selection.Copy
Selection.Find(What:=x, After:=ActiveCell, LookIn:=xlValues, LookAt _
    :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    True, SearchFormat:=False).Activate
Application.CutCopyMode = False
Selection.EntireRow.Delete
Range("I3").Select
Selection.ClearContents
End Sub

person Rafael Alves    schedule 17.11.2013    source источник
comment
Пожалуйста, покажите нам, что вы пробовали? Вопросы, требующие кода, должны демонстрировать минимальное понимание решаемой проблемы, включая попытки решения, причины, по которым они не сработали, и ожидаемые результаты. См. Также: Контрольный список вопросов по переполнению стека   -  person Siddharth Rout    schedule 18.11.2013


Ответы (1)


Это должно помочь вам начать:

Private Sub CommandButton1_Click()
    If Range("I3").Value <> "" Then
        If IsError(Application.Match(Range("I3"), Range("B3:B20"), 0)) Then
            MsgBox ("No Match")
        Else
            foundRow = Application.Match(Range("I3"), Range("B3:B20"), 0) + 2

            Range("A" & foundRow & ":B" & foundRow).Delete Shift:=xlUp
        End If
    End If
End Sub
person Automate This    schedule 17.11.2013
comment
Привет, мистер Портленд. Работало безупречно. Я не знал строку foundRow. Единственная вещь, которую я забыл упомянуть, - это как заменить эту удаленную строку новой пустой, поэтому я не получаю минус одну строку каждый раз, когда запускаю ее. Чтобы общее количество строк оставалось постоянным. Затем он должен автоматически отфильтроваться, чтобы новый упал и не остался в середине таблицы. Я был чист? Спасибо - person Rafael Alves; 20.11.2013
comment
Привет, приятель. Получил, что последняя часть выяснила это. Спасибо - person Rafael Alves; 20.11.2013