У меня на самом деле нет большого фона в VBA, но я пытаюсь создать макрос, где при нажатии кнопки все строки, которые не имеют чек метка в них в определенном диапазоне удаляется. Я просмотрел некоторые форумы и узнал о проверке «marlett», где символ «a» в этом шрифте отображается как галочка. Вот код, я должен генерировать «чек Марли» автоматически при нажатии на ячейку в столбце A в соответствующем диапазоне:VBA Macro для удаления непроверенных строк с помощью проверки marlett
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
Я тогда еще один макрос (назначенный на кнопку), который фактически удаляет строку без галочки в колонке «а» при нажатии кнопки:
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
все работает, но единственная проблема в том, что я должен нажмите на кнопку несколько раз перед всеми непроверенным строки удаляются !! Кажется, что мой цикл работает неправильно - может кто-нибудь помочь?
Спасибо!
HRM, по какой-то причине, когда я использую свой код и переназначить кнопки ничего не удаляет ... не знаю, почему :( – hillmandj
Ваш лист называется «Лист1»? Если вам не нужно будет изменить свой код отразите ваше имя листа, в противном случае я не уверен. – NickSlash
это, скорее всего, проблема. Не иметь доступ к электронной таблице до завтра, но даст ответ, если это действительно проблема. Спасибо! – hillmandj