2016-12-17 68 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