У меня действительно мало опыта в VBA, но я пытаюсь создать макрос, в котором при нажатии кнопки удаляются все строки, в которых нет галочки в определенном диапазоне. Я просмотрел несколько форумов и узнал о проверке «marlett», где символ «a» в этом шрифте отображается как галочка. Вот код, который я должен генерировать автоматически при нажатии на ячейку в столбце A в соответствующем диапазоне:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A10:A111")) Is Nothing Then
Target.Font.Name = "Marlett"
If Target = vbNullString Then
Target = "a"
Else
Target = vbNullString
End If
End If
End Sub
Затем у меня есть другой макрос (назначенный кнопке), который фактически удаляет строки без галочки в столбце «A» при нажатии кнопки:
Sub delete_rows()
Dim c As Range
On Error Resume Next
For Each c in Range("A10:A111")
If c.Value <> "a" Then
c.EntireRow.Delete
End If
Next c
End Sub
Все работает, но единственная проблема в том, что мне нужно нажать кнопку несколько раз, прежде чем все непроверенные строки будут удалены !! Кажется, что мой цикл не работает должным образом - может ли кто-нибудь помочь ??
Спасибо!