2016-12-17 2 views
0

Я использую следующий код, чтобы удалить все использованные строки в моей таблице.vba удалить все использованные строки и флажки в этой строке?

Sub Clear() 
With ActiveSheet 
    .Rows(13 & ":" & .Rows.Count).Delete 
End With 
End Sub 

Это прекрасно работает и удаляет строки, как вы могли ожидать. Однако в каждой из моих строк у меня есть флажок, и когда строки удаляются, все флажки, кроме 1, удаляются.

Кажется, что последний флажок выдвигается в строку выше моего диапазона строк для удаления. Может ли кто-нибудь показать мне способ убедиться, что все флажки удаляются при удалении всех строк?

Благодаря

ответ

0

Ваш код отлично работает для меня, я не знаю, почему последний флажок будет получать толкнул вверх. Вы могли бы сказать это, чтобы удалить флажок по ряду, но я думаю, у вас будет такая же проблема. Добавление этого кода приведет к удалению всех флажков, если вы не изменили их имена после их создания:

For Each shape In ActiveSheet.Shapes 
    If InStr(Replace(LCase(shape.Name), " ", ""), "checkbox") Then shape.Delete 
Next shape 
Смежные вопросы