kgkmeekg
kgkmeekg

Reputation: 534

VBA- Delete entire row in sheet 1

I have been using the following to delete a row.

   Rows([2]).EntireRow.Delete

But this was when my workbook had only one sheet. A command button has been added in sheet2 which calls the macro present in sheet1.

How should I modify my above code so that the VBA deletes the second row of sheet1 ?

Upvotes: 2

Views: 15813

Answers (2)

eirikdaude
eirikdaude

Reputation: 3254

You only need to specify which which sheet the row is in, in addition to specifying the row as you already do. I.e.

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

Should do what you wish. If you have called the worksheet something different than "Sheet1", change what is inside the quotation marks. Strictly speaking you don't need to specify that it is the entire row you want to delete, as you've already said it is the row you are dealing with with Rows(2), but it shouldn't do any harm in there either.

If you additionally want to do the deletion from a different workbook (or just make sure that the deletion takes place in the correct workbook), you can also specify the workbook-name:

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

Upvotes: 4

Akif Patel - BRMS
Akif Patel - BRMS

Reputation: 537

If your button is in any other sheet and you wants to delete a row from another sheet, you simply have to activate that sheet. For example, you are trying to delete row from Sheet1 then you can activate the sheet by this one-liner.

Sheets(0).Activate

Upvotes: 1

Related Questions