ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excell automation - How to move sheet using late binding and VB.NET (https://www.excelbanter.com/excel-programming/337908-excell-automation-how-move-sheet-using-late-binding-vbulletin-net.html)

[email protected]

Excell automation - How to move sheet using late binding and VB.NET
 
I am looking for the code sample which allows to change the sheet's
position inside workbook via Excel's Move() method, using late binding
and VB.NET.
Simply I'd like to do something like this :

....

Dim Workbook As Object
Workbook = Workbooks.Open(fname)
Dim Sheets As Object
Sheets = Workbook.Worksheets
Dim Sheet1 As Object
Sheet1 = Sheets.Add()
Sheet1.Name = "A"
Dim Sheet2 As Object
Sheet2 = Sheets.Add()
Sheet2.Name = "B"
' I'd like to move sheet "B" after sheet "A"
Sheets("B").Move(???)


Zbyszek Gubrynowicz


Mike Fogleman

Excell automation - How to move sheet using late binding and VB.NET
 
Sheets("B").Move After:=Sheets(2)

"B" is the Sheet Name that appears on the tab, Sheets(2), (index), is the
sheet who's tab appears second from the left. That would be "A", after "B"
was added.

Mike F
wrote in message
oups.com...
I am looking for the code sample which allows to change the sheet's
position inside workbook via Excel's Move() method, using late binding
and VB.NET.
Simply I'd like to do something like this :

...

Dim Workbook As Object
Workbook = Workbooks.Open(fname)
Dim Sheets As Object
Sheets = Workbook.Worksheets
Dim Sheet1 As Object
Sheet1 = Sheets.Add()
Sheet1.Name = "A"
Dim Sheet2 As Object
Sheet2 = Sheets.Add()
Sheet2.Name = "B"
' I'd like to move sheet "B" after sheet "A"
Sheets("B").Move(???)


Zbyszek Gubrynowicz




[email protected]

Excell automation - How to move sheet using late binding and VB.NET
 
Hi Mike,

I tried to write the statement in the form suggested by you, but Visual
Studio 2003 transformed it into the form :

Sheets("B").Move(After:=Sheets(2))

It was no problem with compilation, but if the statement was executed,
the following exception was invoked by Microsoft Development
Environment:

"An unhandled exception of type
'System.Runtime.InteropServices.COMException' occurred in
microsoft.visualbasic.dll
Additional information: Group member not found."


Are you sure that statement :

Sheets("B").Move After:=Sheets(2)

is legal when late binding is used.

Zbyszek Gubrynowicz


[email protected]

Excell automation - How to move sheet using late binding and VB.NET
 
Hi Mike,

I've forgotten to say, that though the exception, the sheet "B" was
moved to the position of sheet "A" (!) - the question is, what is the
reason of the exception ?


Zbyszek G.



All times are GMT +1. The time now is 02:49 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com