Скрипт VBA для удаления значений столбцов на основе других значений столбцов - PullRequest
0 голосов
/ 19 января 2020

Я ищу код VBA, который, как указано в заголовке, удаляет данные на основе условий

Итак, у меня есть столбец A и столбец B, строки начинаются с 2 до конца листа, так что пример Если значение в B2 равно «ОК», я бы хотел, чтобы значение в A2 было очищено, а затем l oop один и тот же процесс до конца обоих столбцов, это то, что у меня пока, но это не работает правильно:


Sub Clear()

    Dim myLastRow As Long
    Dim i As Long
    Application.ScreenUpdating = False
Find last row
    myLastRow = Cells(Rows.Count, "B").End(xlUp).Row
  Loop through range
    For i = 2 To myLastRow
        If Cells(i, "B").Value = "OK" Then Range(Cells(i, "A")).ClearContents
    Next i 
    Application.ScreenUpdating = True
End Sub

1 Ответ

0 голосов
/ 19 января 2020

Быстрое исправление для вашего кода - удалить Range

Sub Clear()
    Dim myLastRow As Long
    Dim i As Long
    Application.ScreenUpdating = False
    'Find last row
    myLastRow = Cells(Rows.Count, "B").End(xlUp).Row
    ' Loop through range
    For i = 2 To myLastRow
        ' If Cells(i, "B").Value = "OK" Then Range(Cells(i, "A")).ClearContents
        If Cells(i, "B").Value = "OK" Then Cells(i, "A").ClearContents
    Next i
    Application.ScreenUpdating = True
End Sub

Обратите внимание, как Cells относится к активному листу. Если вы хотите запустить код на указанном c листе, вам лучше указать этот лист.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...