Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 202
Default Copy Multiple Sheets, Except Q

How could I tweak the code below that will copy all sheets from my
ActiveWorkbook EXCEPT for sheets A;B and C?

Code below will copy 2 specified sheets, but I want to twist this
around as I have a large number to copy and don't want to hard code
them as below

Set Sourcewb = ActiveWorkbook
Sourcewb.Sheets(Array("Header", "Order")).Copy
Set Destwb = ActiveWorkbook
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Copy Multiple Sheets, Except Q


Sub CopyBook()

First = True
For Each Sht In ThisWorkbook.Sheets
Select Case Sht.Name

Case "A", "B", "C"
'Do Nothing
Case Else
If First = True Then
'Create New workbook
Sht.Copy
Set NewBk = ActiveWorkbook
First = False
Else
With NewBk
Sht.Copy after:=.Sheets(.Sheets.Count)
End With
End If
End Select
Next Sht

End Sub


"Seanie" wrote:

How could I tweak the code below that will copy all sheets from my
ActiveWorkbook EXCEPT for sheets A;B and C?

Code below will copy 2 specified sheets, but I want to twist this
around as I have a large number to copy and don't want to hard code
them as below

Set Sourcewb = ActiveWorkbook
Sourcewb.Sheets(Array("Header", "Order")).Copy
Set Destwb = ActiveWorkbook

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 202
Default Copy Multiple Sheets, Except Q

Thanks Joel, are the sheet names case sensitive within the code?

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Copy Multiple Sheets, Except Q

The test using strings ze case sensitive

from
Select Case Sht.Name
to
Select Case Ucase(Sht.Name)

The make sure the name in this statement is all capital

Case "A", "B", "C"


"Joel" wrote:


Sub CopyBook()

First = True
For Each Sht In ThisWorkbook.Sheets
Select Case Sht.Name

Case "A", "B", "C"
'Do Nothing
Case Else
If First = True Then
'Create New workbook
Sht.Copy
Set NewBk = ActiveWorkbook
First = False
Else
With NewBk
Sht.Copy after:=.Sheets(.Sheets.Count)
End With
End If
End Select
Next Sht

End Sub


"Seanie" wrote:

How could I tweak the code below that will copy all sheets from my
ActiveWorkbook EXCEPT for sheets A;B and C?

Code below will copy 2 specified sheets, but I want to twist this
around as I have a large number to copy and don't want to hard code
them as below

Set Sourcewb = ActiveWorkbook
Sourcewb.Sheets(Array("Header", "Order")).Copy
Set Destwb = ActiveWorkbook

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 202
Default Copy Multiple Sheets, Except Q

Great, I got it to work as below. Finally how could I place a Msg Box
pop up, if there are no sheets to copy, i.e. the only sheets that are
in the source workbook are A,B,C,D?


First = True
For Each sht In ThisWorkbook.Sheets
Select Case sht.Name


Case "Header", "A", "B", "C", "D"
'Do Nothing
Case Else
If First = True Then
'Create New workbook
sht.Copy
Set Destwb = ActiveWorkbook
First = False
Else
With Destwb
sht.Copy after:=.Sheets(.Sheets.Count)
End With
End If
End Select
Next sht



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Copy Multiple Sheets, Except Q

Add and IF statement at the bottom like below.

First = True
For Each sht In ThisWorkbook.Sheets
Select Case sht.Name


Case "Header", "A", "B", "C", "D"
'Do Nothing
Case Else
If First = True Then
'Create New workbook
sht.Copy
Set Destwb = ActiveWorkbook
First = False
Else
With Destwb
sht.Copy after:=.Sheets(.Sheets.Count)
End With
End If
End Select
Next sht

If First = True then
msgbox("No sheets found to copy")
End IF

"Seanie" wrote:

Great, I got it to work as below. Finally how could I place a Msg Box
pop up, if there are no sheets to copy, i.e. the only sheets that are
in the source workbook are A,B,C,D?


First = True
For Each sht In ThisWorkbook.Sheets
Select Case sht.Name


Case "Header", "A", "B", "C", "D"
'Do Nothing
Case Else
If First = True Then
'Create New workbook
sht.Copy
Set Destwb = ActiveWorkbook
First = False
Else
With Destwb
sht.Copy after:=.Sheets(.Sheets.Count)
End With
End If
End Select
Next sht


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 202
Default Copy Multiple Sheets, Except Q

Thanks, It debugs with message "Copy Method of Worksheet class failed"
on text

sht Copy

This is when there are no sheets apart from A,B,C,D. If I have a sheet
other than those, code works fine

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
copy rows to multiple sheets pvkutty Excel Discussion (Misc queries) 1 February 24th 10 07:25 AM
Copy multiple sheets using a list box kev_06[_3_] Excel Programming 1 June 2nd 06 11:10 PM
Copy & Past from multiple sheets to one Prometheus[_12_] Excel Programming 18 December 5th 05 12:36 AM
Multiple sheets selection and copy syaronc[_6_] Excel Programming 1 October 25th 04 12:40 PM
Copy from Multiple Sheets Eric[_23_] Excel Programming 3 August 5th 04 07:00 PM


All times are GMT +1. The time now is 06:57 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"