Moving Sheets within a workbook
I have a function that adds a new work when needed
'Add A New Sheet ActiveWorkbook.Sheets.Add The problem is that when the sheet is inserted it is placed at the beginning of the workbook. Sheet2 will appear before Sheet1. I want to automate the process of moving Sheet2 after Sheet1 and all subsequent Sheets (3, 4, 5 ...) Sheets("Sheet2").Select Sheets("Sheet2").Move After:=Sheets(1) How do I use a counter/variable in place of the "2" so that each time I call the "ActiveWorkbook.Sheets.Add" it will add the new Sheet to the end? Thanks |
Moving Sheets within a workbook
With ActiveWorkbook.Worksheets
.Add , .Item(.Count) End With "Dan" wrote: I have a function that adds a new work when needed 'Add A New Sheet ActiveWorkbook.Sheets.Add The problem is that when the sheet is inserted it is placed at the beginning of the workbook. Sheet2 will appear before Sheet1. I want to automate the process of moving Sheet2 after Sheet1 and all subsequent Sheets (3, 4, 5 ...) Sheets("Sheet2").Select Sheets("Sheet2").Move After:=Sheets(1) How do I use a counter/variable in place of the "2" so that each time I call the "ActiveWorkbook.Sheets.Add" it will add the new Sheet to the end? Thanks |
Moving Sheets within a workbook
With ActiveWorkbook
.Worksheets.Add after:=.Worksheets(.Worksheets.Count) End With -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Dan" wrote in message ... I have a function that adds a new work when needed 'Add A New Sheet ActiveWorkbook.Sheets.Add The problem is that when the sheet is inserted it is placed at the beginning of the workbook. Sheet2 will appear before Sheet1. I want to automate the process of moving Sheet2 after Sheet1 and all subsequent Sheets (3, 4, 5 ...) Sheets("Sheet2").Select Sheets("Sheet2").Move After:=Sheets(1) How do I use a counter/variable in place of the "2" so that each time I call the "ActiveWorkbook.Sheets.Add" it will add the new Sheet to the end? Thanks |
Moving Sheets within a workbook
What I have is if a function is called:
If " some function" Then ActiveWorkbook.Sheets.Add End If Where in the above statement do I insert your statements? With ActiveWorkbook .Worksheets.Add after:=.Worksheets(.Worksheets.Count) End With Dan ActiveWorkbook.Sheets.Add "Bob Phillips" wrote: With ActiveWorkbook .Worksheets.Add after:=.Worksheets(.Worksheets.Count) End With -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Dan" wrote in message ... I have a function that adds a new work when needed 'Add A New Sheet ActiveWorkbook.Sheets.Add The problem is that when the sheet is inserted it is placed at the beginning of the workbook. Sheet2 will appear before Sheet1. I want to automate the process of moving Sheet2 after Sheet1 and all subsequent Sheets (3, 4, 5 ...) Sheets("Sheet2").Select Sheets("Sheet2").Move After:=Sheets(1) How do I use a counter/variable in place of the "2" so that each time I call the "ActiveWorkbook.Sheets.Add" it will add the new Sheet to the end? Thanks |
Moving Sheets within a workbook
Instead of this
ActiveWorkbook.Sheets.Add -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Dan" wrote in message ... What I have is if a function is called: If " some function" Then ActiveWorkbook.Sheets.Add End If Where in the above statement do I insert your statements? With ActiveWorkbook .Worksheets.Add after:=.Worksheets(.Worksheets.Count) End With Dan ActiveWorkbook.Sheets.Add "Bob Phillips" wrote: With ActiveWorkbook .Worksheets.Add after:=.Worksheets(.Worksheets.Count) End With -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Dan" wrote in message ... I have a function that adds a new work when needed 'Add A New Sheet ActiveWorkbook.Sheets.Add The problem is that when the sheet is inserted it is placed at the beginning of the workbook. Sheet2 will appear before Sheet1. I want to automate the process of moving Sheet2 after Sheet1 and all subsequent Sheets (3, 4, 5 ...) Sheets("Sheet2").Select Sheets("Sheet2").Move After:=Sheets(1) How do I use a counter/variable in place of the "2" so that each time I call the "ActiveWorkbook.Sheets.Add" it will add the new Sheet to the end? Thanks |
Moving Sheets within a workbook
Thanks. Works great.
"Bob Phillips" wrote: Instead of this ActiveWorkbook.Sheets.Add -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Dan" wrote in message ... What I have is if a function is called: If " some function" Then ActiveWorkbook.Sheets.Add End If Where in the above statement do I insert your statements? With ActiveWorkbook .Worksheets.Add after:=.Worksheets(.Worksheets.Count) End With Dan ActiveWorkbook.Sheets.Add "Bob Phillips" wrote: With ActiveWorkbook .Worksheets.Add after:=.Worksheets(.Worksheets.Count) End With -- HTH Bob Phillips (replace somewhere in email address with gmail if mailing direct) "Dan" wrote in message ... I have a function that adds a new work when needed 'Add A New Sheet ActiveWorkbook.Sheets.Add The problem is that when the sheet is inserted it is placed at the beginning of the workbook. Sheet2 will appear before Sheet1. I want to automate the process of moving Sheet2 after Sheet1 and all subsequent Sheets (3, 4, 5 ...) Sheets("Sheet2").Select Sheets("Sheet2").Move After:=Sheets(1) How do I use a counter/variable in place of the "2" so that each time I call the "ActiveWorkbook.Sheets.Add" it will add the new Sheet to the end? Thanks |
All times are GMT +1. The time now is 05:20 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com