ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Moving Sheets within a workbook (https://www.excelbanter.com/excel-worksheet-functions/103228-moving-sheets-within-workbook.html)

dan

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


Duke Carey

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


Bob Phillips

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




dan

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





Bob Phillips

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







dan

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