Add method of "Sheets" class fails

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi all,
I am trying to insert a worksheet from one excel workbook to another
excel workbook. The source excel worksheet is of the size 102 MB. So opening
the worksheets in the destination excel workbook and then copying is taking
too much time. So I tried saving the source worksheet as an excel template
(.xlt file) and then tried adding this template to the destination workbook
with the following code :

objExcel = New Excel.Application
objBooks = objExcel.Workbooks
...
objBooks.Open("D:\destExcel.xls")
objBooks.Item(1).Sheets.Add( "D:\sourceExcel.xlt")
....

The Sheets.Add method fails in the above piece of code. Does anybody know
the reason ?
I would also like to know if there is an efficient method of copying a large
sized excel worksheet from one workbook to another without actually having to
open the source worksheet.

Thanks in anticipation,
CodeKracker.
 
I think you are mixing up the Workbooks.Add and Worksheets.Add methods.

Try opening the template file, and copying across that sheet, then close it.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
Not very good at Excel, but know Microsoft and their operating system
extremely well. Excel can really take up a lot of system resources. In your
control panel go to System Resources and increase your virtual memory by no
less than 33% of what it currently is. This will definately increase your
overall performance and free up resources that Excel demands!

Sorry I cannot help on the sheets problem, my excel knowledge is very limited!

Good Luck

Len
 
If you're running this from excel, why create a new instance of excel?

Couldn't you just do:

Dim objBook As Workbook
Set objBook = Workbooks.Open(Filename:="D:\destExcel.xls")
objBook.Sheets.Add Type:="D:\sourceexcel.xlt"

And if you really, really need two instances of excel, I'd use another object
variable that held the workbook that I opened. Then work on that object.
 
Back
Top