PC Review


Reply
Thread Tools Rate Thread

Copying Filtered Data from multiple worksheets

 
 
Paul Moss
Guest
Posts: n/a
 
      8th Apr 2009
Hi I am trying create a macro that will copy filtered data from multiple
worksheets into one master worksheet. I have created the following code using
examples from this forum.

Sheets("PRINT - MILL").Select
Set Rng = ActiveSheet.AutoFilter.Range
If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
Destination:=Worksheets(2).Range("A4")
Else
MsgBox "No visible data"
End If
Selection.Copy
Sheets("MASTER PRINT").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(14, 0).Range("A1").Select
Sheets("PRINT - SVR").Select
Set Rng = ActiveSheet.AutoFilter.Range
If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
Destination:=Worksheets("MASTER PRINT").Range("A4")
Else
MsgBox "No visible data"
End If
Selection.Copy
Sheets("MASTER PRINT").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=18
ActiveCell.Offset(11, 0).Range("A1").Select
Sheets("PRINT - BRZ").Select
Set Rng = ActiveSheet.AutoFilter.Range
If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
Destination:=Worksheets("MASTER PRINT").Range("A4")
Else
MsgBox "No visible data"
End If
Selection.Copy
Sheets("MASTER PRINT").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(11, 0).Range("A1").Select
Sheets("PRINT - WHT").Select
Set Rng = ActiveSheet.AutoFilter.Range
If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
Destination:=Worksheets("MASTER PRINT").Range("A4")
Else
MsgBox "No visible data"
End If
Selection.Copy
Sheets("MASTER PRINT").Select
ActiveWindow.SmallScroll Down:=12
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
End Sub

I am currently experiencing a few problems with this coding. I need it to
paste the data from each sheet on to the master sheet and leave a blank row
in between. Please can you help?

Regards

Paul
 
Reply With Quote
 
 
 
 
Paul Moss
Guest
Posts: n/a
 
      8th Apr 2009
Forgot to add on previous post. The data that comes across isn't what shows
on the seperate work sheets

"Paul Moss" wrote:

> Hi I am trying create a macro that will copy filtered data from multiple
> worksheets into one master worksheet. I have created the following code using
> examples from this forum.
>
> Sheets("PRINT - MILL").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets(2).Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> ActiveCell.Offset(14, 0).Range("A1").Select
> Sheets("PRINT - SVR").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets("MASTER PRINT").Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> ActiveWindow.SmallScroll Down:=18
> ActiveCell.Offset(11, 0).Range("A1").Select
> Sheets("PRINT - BRZ").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets("MASTER PRINT").Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> ActiveCell.Offset(11, 0).Range("A1").Select
> Sheets("PRINT - WHT").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets("MASTER PRINT").Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> ActiveWindow.SmallScroll Down:=12
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> End Sub
>
> I am currently experiencing a few problems with this coding. I need it to
> paste the data from each sheet on to the master sheet and leave a blank row
> in between. Please can you help?
>
> Regards
>
> Paul

 
Reply With Quote
 
joel
Guest
Posts: n/a
 
      8th Apr 2009
Sub PrintSheets()

PrintShts = Array("PRINT - MILL", "PRINT - SVR", _
"PRINT - BRZ", "PRINT - WHT")

First = True
For Each sht In PrintShts

With Sheets(sht)
Set Rng = .AutoFilter.Range
If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then

LastRow = .Range("A" & Rows.Count).End(xlUp).Row
Set CopyRange = .Rows("2:" & LastRow)
CopyRange.Copy

If First = True Then
Newrow = 4
First = False
Else
LastRow = Sheets("MASTER PRINT") _
.Range("A" & Rows.Count).End(xlUp).Row
NewRow = LastRow + 2
End If

Sheets("MASTER PRINT").Range("A" & Newrow).PasteSpecial _
Paste:=xlPasteValues
Else
MsgBox "No visible data"
End If
End With
Next sht
End Sub


"Paul Moss" wrote:

> Hi I am trying create a macro that will copy filtered data from multiple
> worksheets into one master worksheet. I have created the following code using
> examples from this forum.
>
> Sheets("PRINT - MILL").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets(2).Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> ActiveCell.Offset(14, 0).Range("A1").Select
> Sheets("PRINT - SVR").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets("MASTER PRINT").Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> ActiveWindow.SmallScroll Down:=18
> ActiveCell.Offset(11, 0).Range("A1").Select
> Sheets("PRINT - BRZ").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets("MASTER PRINT").Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> ActiveCell.Offset(11, 0).Range("A1").Select
> Sheets("PRINT - WHT").Select
> Set Rng = ActiveSheet.AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> Destination:=Worksheets("MASTER PRINT").Range("A4")
> Else
> MsgBox "No visible data"
> End If
> Selection.Copy
> Sheets("MASTER PRINT").Select
> ActiveWindow.SmallScroll Down:=12
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> SkipBlanks _
> :=False, Transpose:=False
> End Sub
>
> I am currently experiencing a few problems with this coding. I need it to
> paste the data from each sheet on to the master sheet and leave a blank row
> in between. Please can you help?
>
> Regards
>
> Paul

 
Reply With Quote
 
Paul Moss
Guest
Posts: n/a
 
      8th Apr 2009
Thanks Joel that worked a treat. Thank you very much

"joel" wrote:

> Sub PrintSheets()
>
> PrintShts = Array("PRINT - MILL", "PRINT - SVR", _
> "PRINT - BRZ", "PRINT - WHT")
>
> First = True
> For Each sht In PrintShts
>
> With Sheets(sht)
> Set Rng = .AutoFilter.Range
> If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
>
> LastRow = .Range("A" & Rows.Count).End(xlUp).Row
> Set CopyRange = .Rows("2:" & LastRow)
> CopyRange.Copy
>
> If First = True Then
> Newrow = 4
> First = False
> Else
> LastRow = Sheets("MASTER PRINT") _
> .Range("A" & Rows.Count).End(xlUp).Row
> NewRow = LastRow + 2
> End If
>
> Sheets("MASTER PRINT").Range("A" & Newrow).PasteSpecial _
> Paste:=xlPasteValues
> Else
> MsgBox "No visible data"
> End If
> End With
> Next sht
> End Sub
>
>
> "Paul Moss" wrote:
>
> > Hi I am trying create a macro that will copy filtered data from multiple
> > worksheets into one master worksheet. I have created the following code using
> > examples from this forum.
> >
> > Sheets("PRINT - MILL").Select
> > Set Rng = ActiveSheet.AutoFilter.Range
> > If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> > Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> > Destination:=Worksheets(2).Range("A4")
> > Else
> > MsgBox "No visible data"
> > End If
> > Selection.Copy
> > Sheets("MASTER PRINT").Select
> > Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> > SkipBlanks _
> > :=False, Transpose:=False
> > ActiveCell.Offset(14, 0).Range("A1").Select
> > Sheets("PRINT - SVR").Select
> > Set Rng = ActiveSheet.AutoFilter.Range
> > If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> > Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> > Destination:=Worksheets("MASTER PRINT").Range("A4")
> > Else
> > MsgBox "No visible data"
> > End If
> > Selection.Copy
> > Sheets("MASTER PRINT").Select
> > Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> > SkipBlanks _
> > :=False, Transpose:=False
> > ActiveWindow.SmallScroll Down:=18
> > ActiveCell.Offset(11, 0).Range("A1").Select
> > Sheets("PRINT - BRZ").Select
> > Set Rng = ActiveSheet.AutoFilter.Range
> > If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> > Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> > Destination:=Worksheets("MASTER PRINT").Range("A4")
> > Else
> > MsgBox "No visible data"
> > End If
> > Selection.Copy
> > Sheets("MASTER PRINT").Select
> > Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> > SkipBlanks _
> > :=False, Transpose:=False
> > ActiveCell.Offset(11, 0).Range("A1").Select
> > Sheets("PRINT - WHT").Select
> > Set Rng = ActiveSheet.AutoFilter.Range
> > If Rng.Columns(1).SpecialCells(xlVisible).Count > 1 Then
> > Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).Copy _
> > Destination:=Worksheets("MASTER PRINT").Range("A4")
> > Else
> > MsgBox "No visible data"
> > End If
> > Selection.Copy
> > Sheets("MASTER PRINT").Select
> > ActiveWindow.SmallScroll Down:=12
> > Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
> > SkipBlanks _
> > :=False, Transpose:=False
> > End Sub
> >
> > I am currently experiencing a few problems with this coding. I need it to
> > paste the data from each sheet on to the master sheet and leave a blank row
> > in between. Please can you help?
> >
> > Regards
> >
> > Paul

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
RE: Copying a range of data across multiple worksheets JLGWhiz Microsoft Excel Programming 0 29th Apr 2009 06:12 PM
Copying a range of data across multiple worksheets Isaiah Melton Microsoft Excel Programming 0 29th Apr 2009 05:26 PM
copying data from multiple worksheets =?Utf-8?B?U3RldmUgSXJtaW4=?= Microsoft Excel Misc 1 22nd Sep 2007 04:50 AM
Copying data from multiple worksheets =?Utf-8?B?UHVsbGluZ015SGFpck91dA==?= Microsoft Excel Misc 1 21st Nov 2006 11:00 PM
Copying data to multiple worksheets by Macro lqfong Microsoft Excel Misc 0 26th Jun 2006 03:57 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 05:26 AM.