Удалить текст из столбцов, когда другой столбец имеет «Да» - PullRequest
0 голосов
/ 27 ноября 2018

у меня есть макрос ниже, который удаляет значения в столбце H, когда в столбце I есть «Да». Есть ли способ изменить это на автоматический VBA, который работает в фоновом режиме?

Sub Remove_Column_H_Values()'
' Remove_Column_H_Values Macro
'


'
 Application.Goto Reference:="R7C9"
 ActiveSheet.ListObjects("Table11").Range.AutoFilter Field:=8, Criteria1:= _
 "<>"
 Application.Goto Reference:="R7C8"
 Range("H8").Select
 Range(Selection, Selection.End(xlDown)).Select
 Selection.ClearContents
 Application.Goto Reference:="R7C9"
 ActiveSheet.ListObjects("Table11").Range.AutoFilter Field:=8
 Range("I8").Select
End Sub

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Автоматически, после ввода Да в столбце I: (в модуле листа)

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column = 9 And UCase(Target.Value) = "YES" Then Target.Offset(, -1) = Empty
End Sub
0 голосов
/ 27 ноября 2018

Вы можете добавить кнопку на свой лист с этим кодом.

Sub Remove_Column_H_Values()
Dim i As Integer
For i = 1 To 100 'depends on how long your Values go
    If Yoursheet.Cells(i, 9) = "Yes" Then
        Yoursheet.Cells(i, 8) = ""
    End If
Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...