vba删除该行中所有使用的行和复选框?

时间:2016-12-17 12:48:03

标签: excel vba checkbox

我使用以下代码删除电子表格中所有已使用的行。

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

这样可以正常工作,并按照您的预期删除行。但是,在我的每一行中,我都有一个复选框,当删除行时,除了1个复选框之外都会被删除。

似乎最后一个复选框被推到我删除行范围上方的行。有人可以告诉我一种方法,以确保在删除所有行时删除所有复选框吗?

由于

1 个答案:

答案 0 :(得分:0)

你的代码对我来说很好,我不知道为什么最后一个复选框会被推高。你可以告诉它按行删除复选框,但我猜你有同样的问题。将此添加到您的代码中将删除所有复选框,前提是您在创建它们之后没有更改其名称:

For Each shape In ActiveSheet.Shapes
    If InStr(Replace(LCase(shape.Name), " ", ""), "checkbox") Then shape.Delete
Next shape