Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
hi all.
I recorded a macro to copy two worksheets with specific names from an open workbook to a workbook with a specific name. I then looked at the code it made, and saw that I got the following. Sheets(Array("SUM", "APN")).Select Sheets(Array("SUM", "APN")).Copy Befo=Workbooks_("TROABook.xlsx").sheets(65) The first thing is that I wanted it to copy the worksheets to the end of the book. I've tried setting the code to copy After, and changing sheets(65) to worksheets.count, as well as sheets.count. It rejects both, stating that "copy method of sheets class failed. My second issue is that while the second element in my array is always constant, the first is not. I would like to set up a variable name for the first and thought that an if/elseif function would help that. however, I'm not clear on how I should accomplish that. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Maybe...
Sheets(Array("SUM", "APN")).Copy _ after:=Workbooks("TROABook.xlsx") _ .sheets(workbooks("TROABook.xlsx").sheets.count) You want to make sure that you're counting the sheets/worksheets in the right workbook. SteveDB1 wrote: hi all. I recorded a macro to copy two worksheets with specific names from an open workbook to a workbook with a specific name. I then looked at the code it made, and saw that I got the following. Sheets(Array("SUM", "APN")).Select Sheets(Array("SUM", "APN")).Copy Befo=Workbooks_("TROABook.xlsx").sheets(65) The first thing is that I wanted it to copy the worksheets to the end of the book. I've tried setting the code to copy After, and changing sheets(65) to worksheets.count, as well as sheets.count. It rejects both, stating that "copy method of sheets class failed. My second issue is that while the second element in my array is always constant, the first is not. I would like to set up a variable name for the first and thought that an if/elseif function would help that. however, I'm not clear on how I should accomplish that. -- Dave Peterson |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Dave,
as always... you're good! Thank you so very much. now for the second part. My second issue is that while the second element in my array is always constant, the first is not. I would like to set up a variable name for the first and thought that an if/elseif function would help that. however, I'm not clear on how I should accomplish that. "Dave Peterson" wrote: Maybe... Sheets(Array("SUM", "APN")).Copy _ after:=Workbooks("TROABook.xlsx") _ .sheets(workbooks("TROABook.xlsx").sheets.count) You want to make sure that you're counting the sheets/worksheets in the right workbook. SteveDB1 wrote: hi all. I recorded a macro to copy two worksheets with specific names from an open workbook to a workbook with a specific name. I then looked at the code it made, and saw that I got the following. Sheets(Array("SUM", "APN")).Select Sheets(Array("SUM", "APN")).Copy Befo=Workbooks_("TROABook.xlsx").sheets(65) The first thing is that I wanted it to copy the worksheets to the end of the book. I've tried setting the code to copy After, and changing sheets(65) to worksheets.count, as well as sheets.count. It rejects both, stating that "copy method of sheets class failed. My second issue is that while the second element in my array is always constant, the first is not. I would like to set up a variable name for the first and thought that an if/elseif function would help that. however, I'm not clear on how I should accomplish that. -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
How do you know what sheet you want to include?
dim myFirstName as string dim wks as worksheet myfirstname = "" for each wks in activeworkbook.worksheets 'some sort of test to figure out that first name if lcase(wks.range("a1").text) = lcase("ok") then myfirstname = wks.name exit for 'stop looking end if next wks if myfirstname = "" then msgbox "the first worksheet wasn't found! else Sheets(Array(myfirstname, "APN")).Copy _ after:=Workbooks("TROABook.xlsx") _ .sheets(workbooks("TROABook.xlsx").sheets.count) end if (Untested. Uncompiled. Watch for typos.) SteveDB1 wrote: Hi Dave, as always... you're good! Thank you so very much. now for the second part. My second issue is that while the second element in my array is always constant, the first is not. I would like to set up a variable name for the first and thought that an if/elseif function would help that. however, I'm not clear on how I should accomplish that. "Dave Peterson" wrote: Maybe... Sheets(Array("SUM", "APN")).Copy _ after:=Workbooks("TROABook.xlsx") _ .sheets(workbooks("TROABook.xlsx").sheets.count) You want to make sure that you're counting the sheets/worksheets in the right workbook. SteveDB1 wrote: hi all. I recorded a macro to copy two worksheets with specific names from an open workbook to a workbook with a specific name. I then looked at the code it made, and saw that I got the following. Sheets(Array("SUM", "APN")).Select Sheets(Array("SUM", "APN")).Copy Befo=Workbooks_("TROABook.xlsx").sheets(65) The first thing is that I wanted it to copy the worksheets to the end of the book. I've tried setting the code to copy After, and changing sheets(65) to worksheets.count, as well as sheets.count. It rejects both, stating that "copy method of sheets class failed. My second issue is that while the second element in my array is always constant, the first is not. I would like to set up a variable name for the first and thought that an if/elseif function would help that. however, I'm not clear on how I should accomplish that. -- Dave Peterson -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Prevent cell/array references from changing when altering/moving thecell/array | Excel Discussion (Misc queries) | |||
Redimming an array dynamically assigned from range (how to redim first dimension of a 2-D array? /or/ reverse the original array order) | Excel Programming | |||
meaning of : IF(Switch; Average(array A, array B); array A) | Excel Worksheet Functions | |||
Array problem: Key words-Variant Array, single-element, type mismatch error | Excel Programming | |||
Array problem: Key words-Variant Array, single-element, type mismatch error | Excel Programming |