VBA-删除表单1中的整个行

我一直在使用以下来删除一行。

Rows([2]).EntireRow.Delete 

但是,当时我的工作手册只有一张。 sheet2中添加了一个命令button,用于调用sheet1中存在的macros。

我应该如何修改我的上面的代码,以便VBA删除sheet1的第二行?

除了指定行之外,您只需要指定行所在的表格。 即

  Worksheets("Sheet1").Rows(2).EntireRow.Delete 

应该做你想做的事情。 如果您调用的工作表与“Sheet1”不同,请更改引号内的内容。 严格地说,你不需要指定它是你想要删除的整行,因为你已经说过它是Rows(2)所处理的Rows(2) ,但是在那里不应该有任何伤害无论是。

如果您还想从其他工作簿中删除(或者只是确保删除发生在正确的工作簿中),则还可以指定工作簿名称:

 Workbooks("Workbookname.xlsm").Worksheets("Sheet1").Rows(2).EntireRow.Delete 

如果您的button位于任何其他工作表中,并且您想从另一工作表中删除一行,则只需激活该工作表即可。 例如,您正试图从Sheet1中删除行,然后您可以通过这一行来激活表单。

 Sheets(0).Activate