How to: Programmatically Move Worksheets Within Workbooks
You can programmatically change the position of worksheets relative to other worksheets in a workbook. If you do not specify a location for the moved sheet, Excel creates a new workbook to contain it.
Applies to: The information in this topic applies to document-level projects and application-level projects for Excel 2013 and Excel 2010. For more information, see Features Available by Office Application and Project Type.
To move a worksheet in a document-level customization
Assign the total number of sheets in the workbook to a variable and then move the first worksheet so that it becomes the last one.
Dim totalSheets As Integer = Application.ActiveWorkbook.Sheets.Count Globals.Sheet1.Move(After:=Globals.ThisWorkbook.Sheets(totalSheets))
int totalSheets = this.Application.ActiveWorkbook.Sheets.Count; Globals.Sheet1.Move(Globals.ThisWorkbook.Sheets[totalSheets]);
To move a worksheet in an application-level add-in
Assign the total number of sheets in the workbook to a variable and then move the first worksheet so that it becomes the last one.
Dim totalSheets As Integer = Application.ActiveWorkbook.Sheets.Count CType(Application.ActiveSheet, Excel.Worksheet).Move(After:=Application.Worksheets(totalSheets))
int totalSheets = this.Application.ActiveWorkbook.Sheets.Count; ((Excel.Worksheet)Application.ActiveSheet).Move( this.Application.Worksheets[totalSheets]);
See Also
Tasks
How to: Programmatically Hide Worksheets
How to: Programmatically Delete Worksheets from Workbooks
How to: Programmatically Protect Worksheets