Need help editing a macro
This macro was coded from here on this site (thanks for everyones help) and
it basically takes all the information from every worksheet in the workbook and compiles it into one long list of data. Sub UpdateMaster() Dim ws As Worksheet 'Utility worksheet variable Dim Dest As Range 'The cell in Col B of Master sht in which to paste If Range("A" & Rows.Count).End(xlUp).Row 1 Then Range("A2", Range("B" & Rows.Count).End(xlUp).Offset(2, -1)).Resize(, 13).ClearContents End If Set Dest = Range("B2") For Each ws In ActiveWorkbook.Worksheets If ws.Name < "Master" Then Dest.Offset(, -1).Value = ws.Name With ws .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 12).Copy Dest Set Dest = Range("B" & Rows.Count).End(xlUp).Offset(2) End With End If Next ws End Sub My question is, how do I get it to ignore the first worksheet in the workbook? Is there some command I can give to do this in the code? Any help is appretiated.. If this is too vague I'll try and make my question more specific |
Need help editing a macro
I'm sure there are other ways, but I would do it this way.
Sub UpdateMaster() Dim ws As Worksheet 'Utility worksheet variable Dim Dest As Range 'The cell in Col B of Master sht in which to paste If Range("A" & Rows.Count).End(xlUp).Row 1 Then Range("A2", Range("B" & Rows.Count).End(xlUp).Offset(2, -1)).Resize(, 13).ClearContents End If Set Dest = Range("B2") For sh = 2 To Worksheets.Count 'For Each ws In ActiveWorkbook.Worksheets If Sheets(sh).Name < "Master" Then Dest.Offset(, -1).Value = sheets(sh).Name With Sheets(sh) .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 12).Copy Dest Set Dest = Range("B" & Rows.Count).End(xlUp).Offset(2) End With End If Next sh End Sub Note: I've remarked statements with "ws" or changed the reference to "Sheets(sh)". HTH, Paul -- "ZBelden" wrote in message ... This macro was coded from here on this site (thanks for everyones help) and it basically takes all the information from every worksheet in the workbook and compiles it into one long list of data. Sub UpdateMaster() Dim ws As Worksheet 'Utility worksheet variable Dim Dest As Range 'The cell in Col B of Master sht in which to paste If Range("A" & Rows.Count).End(xlUp).Row 1 Then Range("A2", Range("B" & Rows.Count).End(xlUp).Offset(2, -1)).Resize(, 13).ClearContents End If Set Dest = Range("B2") For Each ws In ActiveWorkbook.Worksheets If ws.Name < "Master" Then Dest.Offset(, -1).Value = ws.Name With ws .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 12).Copy Dest Set Dest = Range("B" & Rows.Count).End(xlUp).Offset(2) End With End If Next ws End Sub My question is, how do I get it to ignore the first worksheet in the workbook? Is there some command I can give to do this in the code? Any help is appretiated.. If this is too vague I'll try and make my question more specific |
Need help editing a macro
or name the other sheet to exclude
If ws.Name < "Master" and ws.name < "Whatever" Then Mike "ZBelden" wrote: This macro was coded from here on this site (thanks for everyones help) and it basically takes all the information from every worksheet in the workbook and compiles it into one long list of data. Sub UpdateMaster() Dim ws As Worksheet 'Utility worksheet variable Dim Dest As Range 'The cell in Col B of Master sht in which to paste If Range("A" & Rows.Count).End(xlUp).Row 1 Then Range("A2", Range("B" & Rows.Count).End(xlUp).Offset(2, -1)).Resize(, 13).ClearContents End If Set Dest = Range("B2") For Each ws In ActiveWorkbook.Worksheets If ws.Name < "Master" Then Dest.Offset(, -1).Value = ws.Name With ws .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 12).Copy Dest Set Dest = Range("B" & Rows.Count).End(xlUp).Offset(2) End With End If Next ws End Sub My question is, how do I get it to ignore the first worksheet in the workbook? Is there some command I can give to do this in the code? Any help is appretiated.. If this is too vague I'll try and make my question more specific |
Need help editing a macro
Worked like a charm, thanks guys.
"PCLIVE" wrote: I'm sure there are other ways, but I would do it this way. Sub UpdateMaster() Dim ws As Worksheet 'Utility worksheet variable Dim Dest As Range 'The cell in Col B of Master sht in which to paste If Range("A" & Rows.Count).End(xlUp).Row 1 Then Range("A2", Range("B" & Rows.Count).End(xlUp).Offset(2, -1)).Resize(, 13).ClearContents End If Set Dest = Range("B2") For sh = 2 To Worksheets.Count 'For Each ws In ActiveWorkbook.Worksheets If Sheets(sh).Name < "Master" Then Dest.Offset(, -1).Value = sheets(sh).Name With Sheets(sh) .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 12).Copy Dest Set Dest = Range("B" & Rows.Count).End(xlUp).Offset(2) End With End If Next sh End Sub Note: I've remarked statements with "ws" or changed the reference to "Sheets(sh)". HTH, Paul -- "ZBelden" wrote in message ... This macro was coded from here on this site (thanks for everyones help) and it basically takes all the information from every worksheet in the workbook and compiles it into one long list of data. Sub UpdateMaster() Dim ws As Worksheet 'Utility worksheet variable Dim Dest As Range 'The cell in Col B of Master sht in which to paste If Range("A" & Rows.Count).End(xlUp).Row 1 Then Range("A2", Range("B" & Rows.Count).End(xlUp).Offset(2, -1)).Resize(, 13).ClearContents End If Set Dest = Range("B2") For Each ws In ActiveWorkbook.Worksheets If ws.Name < "Master" Then Dest.Offset(, -1).Value = ws.Name With ws .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 12).Copy Dest Set Dest = Range("B" & Rows.Count).End(xlUp).Offset(2) End With End If Next ws End Sub My question is, how do I get it to ignore the first worksheet in the workbook? Is there some command I can give to do this in the code? Any help is appretiated.. If this is too vague I'll try and make my question more specific |
All times are GMT +1. The time now is 07:47 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com