| Home | Forums | Reviews | Articles | Register |
![]() |
| Thread Tools | Rate Thread |
|
|
|
| |
|
Barb Reinhardt
Guest
Posts: n/a
|
I thought i posted this before, but I don't see it.
change Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" to Set rngfill = .Range("A" & .Rows.Count).End(xlUp) I'm guessing you want rngfill to pulled from the defined worksheet. HTH, Barb Reinhardt 'tried this with & without the period before "Range" "pickytweety" wrote: > Hi, > This is code that Matt Herbert so kindly wrote for me. On line 111, near > the bottom, I think it's not referring to the right worksheet in the > workbook. I think it's stuck on the new sheet that was created as opposed to > wksDirBonus. Why isn't the "CopyToNext wksDirBonus" pointing it to the > correct place for pasting row 5? (In other words, row 5 in the wksDirBonus > should get pasted as values into the same worksheet, just further down, with > each item in the rngLoop.) > -- > Thanks, > PTweety > > PS Matt, if you happen to see this, I really appreciate you taking the time > to write this. I have so many files now that I need to go back and clean up. > Your advice will make my work much more efficient. Thank you. Is rating > the post just clicking "Yes" or "No"? I never did get to a place that let me > rate your awesome response. Thanks to Bernie Deitrick too. > > Sub RunReport() > > > > Dim strLocation As String > > Dim rngLoop As Range > > Dim rngCell As Range > > Dim wksTemp As Worksheet > > Dim wksScroll As Worksheet > > Dim wksNew As Worksheet > > Dim wksDirBonus As Worksheet > > Dim wksAstBonus As Worksheet > > Dim rngfill As Range > > > > 'set the Template and Scroll List worksheets as objects > > Set wksTemp = Sheets("Template") > > Set wksScroll = Sheets("scroll list") > > Set wksDirBonus = Sheets("YTD dir bonus summary") > > Set wksAstBonus = Sheets("YTD asst bonus summary") > > > > 'clear the old "YTD dir bonus summary" page > >With wksDirBonus > > .Range("a9", .Range("a9").End(xlDown)).EntireRow.ClearContents > >End With > > > 'clear the old "YTD asst bonus summary" page > >With wksAstBonus > > .Range("a9", Range("a9").End(xlDown)).EntireRow.ClearContents > >End With > > > 'Select the list of stores (range) on "scroll list" sheet > > With wksScroll > > Set rngLoop = Range("a1", .Range("a1").End(xlDown)) > > End With > > > > 'show outline levels on wksTemp > > wksTemp.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > 'Loop through each cell in rngLoop > > For Each rngCell In rngLoop > > With wksTemp > > .Range("B1").Value = rngCell > > .Calculate > > strLocation = .Range("B1").Value > > End With > > > > 'Create new sheet for strLocation and name it > > wksTemp.Copy Before:=wksTemp > > Set wksNew = ActiveSheet > > > > With wksNew > > .Name = Trim(strLocation) > > > > 'Select cells and replace formulas with values > > .Cells.Copy > > .Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > Application.CutCopyMode = False > > End With > > > > 'fill in the next line of wksDirBonus > > CopyToNext wksDirBonus > > > > 'fill in the next line of wksAstBonus > > CopyToNext wksAstBonus > > Next > > > > wksDirBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > wksAstBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > 'Hide working sheets > > Sheets("Template").Visible = False > > Sheets("Instructions").Visible = False > > Sheets("str list").Visible = False > > Sheets("SOSP03").Visible = False > > Sheets("SOSP03 YTD").Visible = False > > Sheets("ident sales").Visible = False > > Sheets("ident sales YTD").Visible = False > > Sheets("not ident history").Visible = False > > Sheets("SOSP04-Inv").Visible = False > > Sheets("SOSP05-labor actuals").Visible = False > > Sheets("SOSP05 YTD-labor actuals").Visible = False > > Sheets("Gordy's labor bud").Visible = False > > Sheets("Gordy's labor bud YTD").Visible = False > > Sheets("Poulsen's P&G focus QTR").Visible = False > > Sheets("Gary's bonus").Visible = False > > Sheets("Hal's out of stock").Visible = False > > Sheets("Cust 1st fr Mys Shop").Visible = False > > Sheets("Sales Brackets").Visible = False > > Sheets("Mys Shop Goals").Visible = False > > Sheets("Key Retailing").Visible = False > > Sheets("Rod's Turnover").Visible = False > > Sheets("Mark's Safety").Visible = False > > Sheets("Bill's Loyalty").Visible = False > > Sheets("Points Summary").Visible = False > > Sheets("scroll list").Visible = False > > > > End Sub > > > > Sub CopyToNext(wks As Worksheet) > > > > Dim rngfill As Range > > > > With wks > > .Calculate > > Set rngfill = Nothing > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" > > Set rngfill = rngfill.Offset(1, 0) > > > > Rows("5:5").Copy > Line111 rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > > > rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > > > Application.CutCopyMode = False > > > > > End With > >End Sub > > -- > Thanks, > PTweety |
|
||
|
||||
|
john
Guest
Posts: n/a
|
Code needs properly qualifying with the missing periods “.” (full stops)
Also, are you sure you are passing the correct sheet name to your argument Sub CopyToNext(wks As Worksheet)? I ran your code fully qualified as below & all seemed ok. Sub CopyToNext(wks As Worksheet) Dim rngfill As Range With wks .Calculate Set rngfill = Nothing Set rngfill = .Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" Set rngfill = rngfill.Offset(1, 0) .Rows("5:5").Copy rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False End With End Sub I tested like this and all seemed ok. Sub atest() CopyToNext Sheet1 End Sub -- jb "pickytweety" wrote: > Hi, > This is code that Matt Herbert so kindly wrote for me. On line 111, near > the bottom, I think it's not referring to the right worksheet in the > workbook. I think it's stuck on the new sheet that was created as opposed to > wksDirBonus. Why isn't the "CopyToNext wksDirBonus" pointing it to the > correct place for pasting row 5? (In other words, row 5 in the wksDirBonus > should get pasted as values into the same worksheet, just further down, with > each item in the rngLoop.) > -- > Thanks, > PTweety > > PS Matt, if you happen to see this, I really appreciate you taking the time > to write this. I have so many files now that I need to go back and clean up. > Your advice will make my work much more efficient. Thank you. Is rating > the post just clicking "Yes" or "No"? I never did get to a place that let me > rate your awesome response. Thanks to Bernie Deitrick too. > > Sub RunReport() > > > > Dim strLocation As String > > Dim rngLoop As Range > > Dim rngCell As Range > > Dim wksTemp As Worksheet > > Dim wksScroll As Worksheet > > Dim wksNew As Worksheet > > Dim wksDirBonus As Worksheet > > Dim wksAstBonus As Worksheet > > Dim rngfill As Range > > > > 'set the Template and Scroll List worksheets as objects > > Set wksTemp = Sheets("Template") > > Set wksScroll = Sheets("scroll list") > > Set wksDirBonus = Sheets("YTD dir bonus summary") > > Set wksAstBonus = Sheets("YTD asst bonus summary") > > > > 'clear the old "YTD dir bonus summary" page > >With wksDirBonus > > .Range("a9", .Range("a9").End(xlDown)).EntireRow.ClearContents > >End With > > > 'clear the old "YTD asst bonus summary" page > >With wksAstBonus > > .Range("a9", Range("a9").End(xlDown)).EntireRow.ClearContents > >End With > > > 'Select the list of stores (range) on "scroll list" sheet > > With wksScroll > > Set rngLoop = Range("a1", .Range("a1").End(xlDown)) > > End With > > > > 'show outline levels on wksTemp > > wksTemp.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > 'Loop through each cell in rngLoop > > For Each rngCell In rngLoop > > With wksTemp > > .Range("B1").Value = rngCell > > .Calculate > > strLocation = .Range("B1").Value > > End With > > > > 'Create new sheet for strLocation and name it > > wksTemp.Copy Before:=wksTemp > > Set wksNew = ActiveSheet > > > > With wksNew > > .Name = Trim(strLocation) > > > > 'Select cells and replace formulas with values > > .Cells.Copy > > .Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > Application.CutCopyMode = False > > End With > > > > 'fill in the next line of wksDirBonus > > CopyToNext wksDirBonus > > > > 'fill in the next line of wksAstBonus > > CopyToNext wksAstBonus > > Next > > > > wksDirBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > wksAstBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > 'Hide working sheets > > Sheets("Template").Visible = False > > Sheets("Instructions").Visible = False > > Sheets("str list").Visible = False > > Sheets("SOSP03").Visible = False > > Sheets("SOSP03 YTD").Visible = False > > Sheets("ident sales").Visible = False > > Sheets("ident sales YTD").Visible = False > > Sheets("not ident history").Visible = False > > Sheets("SOSP04-Inv").Visible = False > > Sheets("SOSP05-labor actuals").Visible = False > > Sheets("SOSP05 YTD-labor actuals").Visible = False > > Sheets("Gordy's labor bud").Visible = False > > Sheets("Gordy's labor bud YTD").Visible = False > > Sheets("Poulsen's P&G focus QTR").Visible = False > > Sheets("Gary's bonus").Visible = False > > Sheets("Hal's out of stock").Visible = False > > Sheets("Cust 1st fr Mys Shop").Visible = False > > Sheets("Sales Brackets").Visible = False > > Sheets("Mys Shop Goals").Visible = False > > Sheets("Key Retailing").Visible = False > > Sheets("Rod's Turnover").Visible = False > > Sheets("Mark's Safety").Visible = False > > Sheets("Bill's Loyalty").Visible = False > > Sheets("Points Summary").Visible = False > > Sheets("scroll list").Visible = False > > > > End Sub > > > > Sub CopyToNext(wks As Worksheet) > > > > Dim rngfill As Range > > > > With wks > > .Calculate > > Set rngfill = Nothing > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" > > Set rngfill = rngfill.Offset(1, 0) > > > > Rows("5:5").Copy > Line111 rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > > > rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > > > Application.CutCopyMode = False > > > > > End With > >End Sub > > -- > Thanks, > PTweety |
|
||
|
||||
|
john
Guest
Posts: n/a
|
whoops missed one!
Set rngfill = .Range("A" & .Rows.Count).End(xlUp) there should be a period in front of Rows -- jb "pickytweety" wrote: > Hi, > This is code that Matt Herbert so kindly wrote for me. On line 111, near > the bottom, I think it's not referring to the right worksheet in the > workbook. I think it's stuck on the new sheet that was created as opposed to > wksDirBonus. Why isn't the "CopyToNext wksDirBonus" pointing it to the > correct place for pasting row 5? (In other words, row 5 in the wksDirBonus > should get pasted as values into the same worksheet, just further down, with > each item in the rngLoop.) > -- > Thanks, > PTweety > > PS Matt, if you happen to see this, I really appreciate you taking the time > to write this. I have so many files now that I need to go back and clean up. > Your advice will make my work much more efficient. Thank you. Is rating > the post just clicking "Yes" or "No"? I never did get to a place that let me > rate your awesome response. Thanks to Bernie Deitrick too. > > Sub RunReport() > > > > Dim strLocation As String > > Dim rngLoop As Range > > Dim rngCell As Range > > Dim wksTemp As Worksheet > > Dim wksScroll As Worksheet > > Dim wksNew As Worksheet > > Dim wksDirBonus As Worksheet > > Dim wksAstBonus As Worksheet > > Dim rngfill As Range > > > > 'set the Template and Scroll List worksheets as objects > > Set wksTemp = Sheets("Template") > > Set wksScroll = Sheets("scroll list") > > Set wksDirBonus = Sheets("YTD dir bonus summary") > > Set wksAstBonus = Sheets("YTD asst bonus summary") > > > > 'clear the old "YTD dir bonus summary" page > >With wksDirBonus > > .Range("a9", .Range("a9").End(xlDown)).EntireRow.ClearContents > >End With > > > 'clear the old "YTD asst bonus summary" page > >With wksAstBonus > > .Range("a9", Range("a9").End(xlDown)).EntireRow.ClearContents > >End With > > > 'Select the list of stores (range) on "scroll list" sheet > > With wksScroll > > Set rngLoop = Range("a1", .Range("a1").End(xlDown)) > > End With > > > > 'show outline levels on wksTemp > > wksTemp.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > 'Loop through each cell in rngLoop > > For Each rngCell In rngLoop > > With wksTemp > > .Range("B1").Value = rngCell > > .Calculate > > strLocation = .Range("B1").Value > > End With > > > > 'Create new sheet for strLocation and name it > > wksTemp.Copy Before:=wksTemp > > Set wksNew = ActiveSheet > > > > With wksNew > > .Name = Trim(strLocation) > > > > 'Select cells and replace formulas with values > > .Cells.Copy > > .Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > Application.CutCopyMode = False > > End With > > > > 'fill in the next line of wksDirBonus > > CopyToNext wksDirBonus > > > > 'fill in the next line of wksAstBonus > > CopyToNext wksAstBonus > > Next > > > > wksDirBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > wksAstBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > 'Hide working sheets > > Sheets("Template").Visible = False > > Sheets("Instructions").Visible = False > > Sheets("str list").Visible = False > > Sheets("SOSP03").Visible = False > > Sheets("SOSP03 YTD").Visible = False > > Sheets("ident sales").Visible = False > > Sheets("ident sales YTD").Visible = False > > Sheets("not ident history").Visible = False > > Sheets("SOSP04-Inv").Visible = False > > Sheets("SOSP05-labor actuals").Visible = False > > Sheets("SOSP05 YTD-labor actuals").Visible = False > > Sheets("Gordy's labor bud").Visible = False > > Sheets("Gordy's labor bud YTD").Visible = False > > Sheets("Poulsen's P&G focus QTR").Visible = False > > Sheets("Gary's bonus").Visible = False > > Sheets("Hal's out of stock").Visible = False > > Sheets("Cust 1st fr Mys Shop").Visible = False > > Sheets("Sales Brackets").Visible = False > > Sheets("Mys Shop Goals").Visible = False > > Sheets("Key Retailing").Visible = False > > Sheets("Rod's Turnover").Visible = False > > Sheets("Mark's Safety").Visible = False > > Sheets("Bill's Loyalty").Visible = False > > Sheets("Points Summary").Visible = False > > Sheets("scroll list").Visible = False > > > > End Sub > > > > Sub CopyToNext(wks As Worksheet) > > > > Dim rngfill As Range > > > > With wks > > .Calculate > > Set rngfill = Nothing > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" > > Set rngfill = rngfill.Offset(1, 0) > > > > Rows("5:5").Copy > Line111 rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > > > rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ > > SkipBlanks:=False, Transpose:=False > > > > Application.CutCopyMode = False > > > > > End With > >End Sub > > -- > Thanks, > PTweety |
|
||
|
||||
|
pickytweety
Guest
Posts: n/a
|
Tried a period in front of both Range and Rows but it's not working. When it
tries to paste the row, it tells me it can't because of non-identical sized merged cells. However there are no merged cells in the sheet associated with wksDirBonus. So I put a watch on rngfill and it gives me a cell in the sheet called 030 which happens to be the value of the strLocation variable. So it's trying to paste to the wrong sheet altogether. -- Thanks, PTweety "john" wrote: > whoops missed one! > > Set rngfill = .Range("A" & .Rows.Count).End(xlUp) > > there should be a period in front of Rows > -- > jb > > > "pickytweety" wrote: > > > Hi, > > This is code that Matt Herbert so kindly wrote for me. On line 111, near > > the bottom, I think it's not referring to the right worksheet in the > > workbook. I think it's stuck on the new sheet that was created as opposed to > > wksDirBonus. Why isn't the "CopyToNext wksDirBonus" pointing it to the > > correct place for pasting row 5? (In other words, row 5 in the wksDirBonus > > should get pasted as values into the same worksheet, just further down, with > > each item in the rngLoop.) > > -- > > Thanks, > > PTweety > > > > PS Matt, if you happen to see this, I really appreciate you taking the time > > to write this. I have so many files now that I need to go back and clean up. > > Your advice will make my work much more efficient. Thank you. Is rating > > the post just clicking "Yes" or "No"? I never did get to a place that let me > > rate your awesome response. Thanks to Bernie Deitrick too. > > > > Sub RunReport() > > > > > > Dim strLocation As String > > > Dim rngLoop As Range > > > Dim rngCell As Range > > > Dim wksTemp As Worksheet > > > Dim wksScroll As Worksheet > > > Dim wksNew As Worksheet > > > Dim wksDirBonus As Worksheet > > > Dim wksAstBonus As Worksheet > > > Dim rngfill As Range > > > > > > 'set the Template and Scroll List worksheets as objects > > > Set wksTemp = Sheets("Template") > > > Set wksScroll = Sheets("scroll list") > > > Set wksDirBonus = Sheets("YTD dir bonus summary") > > > Set wksAstBonus = Sheets("YTD asst bonus summary") > > > > > > 'clear the old "YTD dir bonus summary" page > > >With wksDirBonus > > > .Range("a9", .Range("a9").End(xlDown)).EntireRow.ClearContents > > >End With > > > > > 'clear the old "YTD asst bonus summary" page > > >With wksAstBonus > > > .Range("a9", Range("a9").End(xlDown)).EntireRow.ClearContents > > >End With > > > > > 'Select the list of stores (range) on "scroll list" sheet > > > With wksScroll > > > Set rngLoop = Range("a1", .Range("a1").End(xlDown)) > > > End With > > > > > > 'show outline levels on wksTemp > > > wksTemp.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > 'Loop through each cell in rngLoop > > > For Each rngCell In rngLoop > > > With wksTemp > > > .Range("B1").Value = rngCell > > > .Calculate > > > strLocation = .Range("B1").Value > > > End With > > > > > > 'Create new sheet for strLocation and name it > > > wksTemp.Copy Before:=wksTemp > > > Set wksNew = ActiveSheet > > > > > > With wksNew > > > .Name = Trim(strLocation) > > > > > > 'Select cells and replace formulas with values > > > .Cells.Copy > > > .Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > SkipBlanks:=False, Transpose:=False > > > Application.CutCopyMode = False > > > End With > > > > > > 'fill in the next line of wksDirBonus > > > CopyToNext wksDirBonus > > > > > > 'fill in the next line of wksAstBonus > > > CopyToNext wksAstBonus > > > Next > > > > > > wksDirBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > wksAstBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > 'Hide working sheets > > > Sheets("Template").Visible = False > > > Sheets("Instructions").Visible = False > > > Sheets("str list").Visible = False > > > Sheets("SOSP03").Visible = False > > > Sheets("SOSP03 YTD").Visible = False > > > Sheets("ident sales").Visible = False > > > Sheets("ident sales YTD").Visible = False > > > Sheets("not ident history").Visible = False > > > Sheets("SOSP04-Inv").Visible = False > > > Sheets("SOSP05-labor actuals").Visible = False > > > Sheets("SOSP05 YTD-labor actuals").Visible = False > > > Sheets("Gordy's labor bud").Visible = False > > > Sheets("Gordy's labor bud YTD").Visible = False > > > Sheets("Poulsen's P&G focus QTR").Visible = False > > > Sheets("Gary's bonus").Visible = False > > > Sheets("Hal's out of stock").Visible = False > > > Sheets("Cust 1st fr Mys Shop").Visible = False > > > Sheets("Sales Brackets").Visible = False > > > Sheets("Mys Shop Goals").Visible = False > > > Sheets("Key Retailing").Visible = False > > > Sheets("Rod's Turnover").Visible = False > > > Sheets("Mark's Safety").Visible = False > > > Sheets("Bill's Loyalty").Visible = False > > > Sheets("Points Summary").Visible = False > > > Sheets("scroll list").Visible = False > > > > > > End Sub > > > > > > Sub CopyToNext(wks As Worksheet) > > > > > > Dim rngfill As Range > > > > > > With wks > > > .Calculate > > > Set rngfill = Nothing > > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" > > > Set rngfill = rngfill.Offset(1, 0) > > > > > > Rows("5:5").Copy > > Line111 rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > SkipBlanks:=False, Transpose:=False > > > > > > rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ > > > SkipBlanks:=False, Transpose:=False > > > > > > Application.CutCopyMode = False > > > > > > > End With > > >End Sub > > > > -- > > Thanks, > > PTweety |
|
||
|
||||
|
pickytweety
Guest
Posts: n/a
|
Hi Bob, I think you did post it, and I tried a period in front of both Range
and Rows but it's not working. When it tries to paste the row, it tells me it can't because of non-identical sized merged cells. However there are no merged cells in the sheet associated with wksDirBonus. So I put a watch on rngfill and it gives me a cell in the sheet called 030 which happens to be the value of the strLocation variable. So it's trying to paste to the wrong sheet altogether. -- Thanks, PTweety "Barb Reinhardt" wrote: > I thought i posted this before, but I don't see it. > > change > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without > the period before "Range" > > to > > Set rngfill = .Range("A" & .Rows.Count).End(xlUp) > > I'm guessing you want rngfill to pulled from the defined worksheet. > > HTH, > Barb Reinhardt > > 'tried this with & without the period before "Range" > > "pickytweety" wrote: > > > Hi, > > This is code that Matt Herbert so kindly wrote for me. On line 111, near > > the bottom, I think it's not referring to the right worksheet in the > > workbook. I think it's stuck on the new sheet that was created as opposed to > > wksDirBonus. Why isn't the "CopyToNext wksDirBonus" pointing it to the > > correct place for pasting row 5? (In other words, row 5 in the wksDirBonus > > should get pasted as values into the same worksheet, just further down, with > > each item in the rngLoop.) > > -- > > Thanks, > > PTweety > > > > PS Matt, if you happen to see this, I really appreciate you taking the time > > to write this. I have so many files now that I need to go back and clean up. > > Your advice will make my work much more efficient. Thank you. Is rating > > the post just clicking "Yes" or "No"? I never did get to a place that let me > > rate your awesome response. Thanks to Bernie Deitrick too. > > > > Sub RunReport() > > > > > > Dim strLocation As String > > > Dim rngLoop As Range > > > Dim rngCell As Range > > > Dim wksTemp As Worksheet > > > Dim wksScroll As Worksheet > > > Dim wksNew As Worksheet > > > Dim wksDirBonus As Worksheet > > > Dim wksAstBonus As Worksheet > > > Dim rngfill As Range > > > > > > 'set the Template and Scroll List worksheets as objects > > > Set wksTemp = Sheets("Template") > > > Set wksScroll = Sheets("scroll list") > > > Set wksDirBonus = Sheets("YTD dir bonus summary") > > > Set wksAstBonus = Sheets("YTD asst bonus summary") > > > > > > 'clear the old "YTD dir bonus summary" page > > >With wksDirBonus > > > .Range("a9", .Range("a9").End(xlDown)).EntireRow.ClearContents > > >End With > > > > > 'clear the old "YTD asst bonus summary" page > > >With wksAstBonus > > > .Range("a9", Range("a9").End(xlDown)).EntireRow.ClearContents > > >End With > > > > > 'Select the list of stores (range) on "scroll list" sheet > > > With wksScroll > > > Set rngLoop = Range("a1", .Range("a1").End(xlDown)) > > > End With > > > > > > 'show outline levels on wksTemp > > > wksTemp.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > 'Loop through each cell in rngLoop > > > For Each rngCell In rngLoop > > > With wksTemp > > > .Range("B1").Value = rngCell > > > .Calculate > > > strLocation = .Range("B1").Value > > > End With > > > > > > 'Create new sheet for strLocation and name it > > > wksTemp.Copy Before:=wksTemp > > > Set wksNew = ActiveSheet > > > > > > With wksNew > > > .Name = Trim(strLocation) > > > > > > 'Select cells and replace formulas with values > > > .Cells.Copy > > > .Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > SkipBlanks:=False, Transpose:=False > > > Application.CutCopyMode = False > > > End With > > > > > > 'fill in the next line of wksDirBonus > > > CopyToNext wksDirBonus > > > > > > 'fill in the next line of wksAstBonus > > > CopyToNext wksAstBonus > > > Next > > > > > > wksDirBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > wksAstBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > 'Hide working sheets > > > Sheets("Template").Visible = False > > > Sheets("Instructions").Visible = False > > > Sheets("str list").Visible = False > > > Sheets("SOSP03").Visible = False > > > Sheets("SOSP03 YTD").Visible = False > > > Sheets("ident sales").Visible = False > > > Sheets("ident sales YTD").Visible = False > > > Sheets("not ident history").Visible = False > > > Sheets("SOSP04-Inv").Visible = False > > > Sheets("SOSP05-labor actuals").Visible = False > > > Sheets("SOSP05 YTD-labor actuals").Visible = False > > > Sheets("Gordy's labor bud").Visible = False > > > Sheets("Gordy's labor bud YTD").Visible = False > > > Sheets("Poulsen's P&G focus QTR").Visible = False > > > Sheets("Gary's bonus").Visible = False > > > Sheets("Hal's out of stock").Visible = False > > > Sheets("Cust 1st fr Mys Shop").Visible = False > > > Sheets("Sales Brackets").Visible = False > > > Sheets("Mys Shop Goals").Visible = False > > > Sheets("Key Retailing").Visible = False > > > Sheets("Rod's Turnover").Visible = False > > > Sheets("Mark's Safety").Visible = False > > > Sheets("Bill's Loyalty").Visible = False > > > Sheets("Points Summary").Visible = False > > > Sheets("scroll list").Visible = False > > > > > > End Sub > > > > > > Sub CopyToNext(wks As Worksheet) > > > > > > Dim rngfill As Range > > > > > > With wks > > > .Calculate > > > Set rngfill = Nothing > > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" > > > Set rngfill = rngfill.Offset(1, 0) > > > > > > Rows("5:5").Copy > > Line111 rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > SkipBlanks:=False, Transpose:=False > > > > > > rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ > > > SkipBlanks:=False, Transpose:=False > > > > > > Application.CutCopyMode = False > > > > > > > End With > > >End Sub > > > > -- > > Thanks, > > PTweety |
|
||
|
||||
|
john
Guest
Posts: n/a
|
I trided your code again and it seems to work for me.
I have added a msgbox so you can see which sheet you are accessing. If still fails, do as I did by adding some of your data & this code to a new workbook & test that, if it works as you intended then there is something like merged cells going on in your worksheet which would most likely cause your problem. Other than this, it's really difficult to determine what else you are doing differently to cause the problem. Sub CopyToNext(wks As Worksheet) Dim rngfill As Range MsgBox wks.Name '<< test only rem or delete when not need With wks .Calculate Set rngfill = Nothing Set rngfill = .Range("A" & Rows.Count).End(xlUp) Set rngfill = rngfill.Offset(1, 0) .Rows("5:5").Copy rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False End With End Sub 'I tested like this and all seemed ok. Sub atest() Dim wksAstBonus As Worksheet Set wksAstBonus = Sheets("YTD asst bonus summary") CopyToNext wksAstBonus End Sub -- jb "pickytweety" wrote: > Tried a period in front of both Range and Rows but it's not working. When it > tries to paste the row, it tells me it can't because of non-identical sized > merged cells. However there are no merged cells in the sheet associated with > wksDirBonus. So I put a watch on rngfill and it gives me a cell in the sheet > called 030 which happens to be the value of the strLocation variable. So > it's trying to paste to the wrong sheet altogether. > -- > Thanks, > PTweety > > > "john" wrote: > > > whoops missed one! > > > > Set rngfill = .Range("A" & .Rows.Count).End(xlUp) > > > > there should be a period in front of Rows > > -- > > jb > > > > > > "pickytweety" wrote: > > > > > Hi, > > > This is code that Matt Herbert so kindly wrote for me. On line 111, near > > > the bottom, I think it's not referring to the right worksheet in the > > > workbook. I think it's stuck on the new sheet that was created as opposed to > > > wksDirBonus. Why isn't the "CopyToNext wksDirBonus" pointing it to the > > > correct place for pasting row 5? (In other words, row 5 in the wksDirBonus > > > should get pasted as values into the same worksheet, just further down, with > > > each item in the rngLoop.) > > > -- > > > Thanks, > > > PTweety > > > > > > PS Matt, if you happen to see this, I really appreciate you taking the time > > > to write this. I have so many files now that I need to go back and clean up. > > > Your advice will make my work much more efficient. Thank you. Is rating > > > the post just clicking "Yes" or "No"? I never did get to a place that let me > > > rate your awesome response. Thanks to Bernie Deitrick too. > > > > > > Sub RunReport() > > > > > > > > Dim strLocation As String > > > > Dim rngLoop As Range > > > > Dim rngCell As Range > > > > Dim wksTemp As Worksheet > > > > Dim wksScroll As Worksheet > > > > Dim wksNew As Worksheet > > > > Dim wksDirBonus As Worksheet > > > > Dim wksAstBonus As Worksheet > > > > Dim rngfill As Range > > > > > > > > 'set the Template and Scroll List worksheets as objects > > > > Set wksTemp = Sheets("Template") > > > > Set wksScroll = Sheets("scroll list") > > > > Set wksDirBonus = Sheets("YTD dir bonus summary") > > > > Set wksAstBonus = Sheets("YTD asst bonus summary") > > > > > > > > 'clear the old "YTD dir bonus summary" page > > > >With wksDirBonus > > > > .Range("a9", .Range("a9").End(xlDown)).EntireRow.ClearContents > > > >End With > > > > > > > 'clear the old "YTD asst bonus summary" page > > > >With wksAstBonus > > > > .Range("a9", Range("a9").End(xlDown)).EntireRow.ClearContents > > > >End With > > > > > > > 'Select the list of stores (range) on "scroll list" sheet > > > > With wksScroll > > > > Set rngLoop = Range("a1", .Range("a1").End(xlDown)) > > > > End With > > > > > > > > 'show outline levels on wksTemp > > > > wksTemp.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > > > 'Loop through each cell in rngLoop > > > > For Each rngCell In rngLoop > > > > With wksTemp > > > > .Range("B1").Value = rngCell > > > > .Calculate > > > > strLocation = .Range("B1").Value > > > > End With > > > > > > > > 'Create new sheet for strLocation and name it > > > > wksTemp.Copy Before:=wksTemp > > > > Set wksNew = ActiveSheet > > > > > > > > With wksNew > > > > .Name = Trim(strLocation) > > > > > > > > 'Select cells and replace formulas with values > > > > .Cells.Copy > > > > .Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > > SkipBlanks:=False, Transpose:=False > > > > Application.CutCopyMode = False > > > > End With > > > > > > > > 'fill in the next line of wksDirBonus > > > > CopyToNext wksDirBonus > > > > > > > > 'fill in the next line of wksAstBonus > > > > CopyToNext wksAstBonus > > > > Next > > > > > > > > wksDirBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > wksAstBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > > > 'Hide working sheets > > > > Sheets("Template").Visible = False > > > > Sheets("Instructions").Visible = False > > > > Sheets("str list").Visible = False > > > > Sheets("SOSP03").Visible = False > > > > Sheets("SOSP03 YTD").Visible = False > > > > Sheets("ident sales").Visible = False > > > > Sheets("ident sales YTD").Visible = False > > > > Sheets("not ident history").Visible = False > > > > Sheets("SOSP04-Inv").Visible = False > > > > Sheets("SOSP05-labor actuals").Visible = False > > > > Sheets("SOSP05 YTD-labor actuals").Visible = False > > > > Sheets("Gordy's labor bud").Visible = False > > > > Sheets("Gordy's labor bud YTD").Visible = False > > > > Sheets("Poulsen's P&G focus QTR").Visible = False > > > > Sheets("Gary's bonus").Visible = False > > > > Sheets("Hal's out of stock").Visible = False > > > > Sheets("Cust 1st fr Mys Shop").Visible = False > > > > Sheets("Sales Brackets").Visible = False > > > > Sheets("Mys Shop Goals").Visible = False > > > > Sheets("Key Retailing").Visible = False > > > > Sheets("Rod's Turnover").Visible = False > > > > Sheets("Mark's Safety").Visible = False > > > > Sheets("Bill's Loyalty").Visible = False > > > > Sheets("Points Summary").Visible = False > > > > Sheets("scroll list").Visible = False > > > > > > > > End Sub > > > > > > > > Sub CopyToNext(wks As Worksheet) > > > > > > > > Dim rngfill As Range > > > > > > > > With wks > > > > .Calculate > > > > Set rngfill = Nothing > > > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" > > > > Set rngfill = rngfill.Offset(1, 0) > > > > > > > > Rows("5:5").Copy > > > Line111 rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > > SkipBlanks:=False, Transpose:=False > > > > > > > > rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ > > > > SkipBlanks:=False, Transpose:=False > > > > > > > > Application.CutCopyMode = False > > > > > > > > > End With > > > >End Sub > > > > > > -- > > > Thanks, > > > PTweety |
|
||
|
||||
|
john
Guest
Posts: n/a
|
you could give this approach a try.
Sub CopyToNext(wks As Worksheet) Dim rng As Range With wks 'Assuming data starts in A1 and there 'are no blank rows or columns embedded Set rng = .Range("A1").CurrentRegion numrows = rng.Rows.Count numcols = rng.Columns.Count .Calculate .Range(Cells(5, 1), Cells(5, numcols)).Copy .Range("A" & numrows + 1).PasteSpecial xlPasteValues, , False, False .Range("A" & numrows + 1).PasteSpecial xlFormats, , False, False ' Application.CutCopyMode = False End With End Sub -- jb "pickytweety" wrote: > Tried a period in front of both Range and Rows but it's not working. When it > tries to paste the row, it tells me it can't because of non-identical sized > merged cells. However there are no merged cells in the sheet associated with > wksDirBonus. So I put a watch on rngfill and it gives me a cell in the sheet > called 030 which happens to be the value of the strLocation variable. So > it's trying to paste to the wrong sheet altogether. > -- > Thanks, > PTweety > > > "john" wrote: > > > whoops missed one! > > > > Set rngfill = .Range("A" & .Rows.Count).End(xlUp) > > > > there should be a period in front of Rows > > -- > > jb > > > > > > "pickytweety" wrote: > > > > > Hi, > > > This is code that Matt Herbert so kindly wrote for me. On line 111, near > > > the bottom, I think it's not referring to the right worksheet in the > > > workbook. I think it's stuck on the new sheet that was created as opposed to > > > wksDirBonus. Why isn't the "CopyToNext wksDirBonus" pointing it to the > > > correct place for pasting row 5? (In other words, row 5 in the wksDirBonus > > > should get pasted as values into the same worksheet, just further down, with > > > each item in the rngLoop.) > > > -- > > > Thanks, > > > PTweety > > > > > > PS Matt, if you happen to see this, I really appreciate you taking the time > > > to write this. I have so many files now that I need to go back and clean up. > > > Your advice will make my work much more efficient. Thank you. Is rating > > > the post just clicking "Yes" or "No"? I never did get to a place that let me > > > rate your awesome response. Thanks to Bernie Deitrick too. > > > > > > Sub RunReport() > > > > > > > > Dim strLocation As String > > > > Dim rngLoop As Range > > > > Dim rngCell As Range > > > > Dim wksTemp As Worksheet > > > > Dim wksScroll As Worksheet > > > > Dim wksNew As Worksheet > > > > Dim wksDirBonus As Worksheet > > > > Dim wksAstBonus As Worksheet > > > > Dim rngfill As Range > > > > > > > > 'set the Template and Scroll List worksheets as objects > > > > Set wksTemp = Sheets("Template") > > > > Set wksScroll = Sheets("scroll list") > > > > Set wksDirBonus = Sheets("YTD dir bonus summary") > > > > Set wksAstBonus = Sheets("YTD asst bonus summary") > > > > > > > > 'clear the old "YTD dir bonus summary" page > > > >With wksDirBonus > > > > .Range("a9", .Range("a9").End(xlDown)).EntireRow.ClearContents > > > >End With > > > > > > > 'clear the old "YTD asst bonus summary" page > > > >With wksAstBonus > > > > .Range("a9", Range("a9").End(xlDown)).EntireRow.ClearContents > > > >End With > > > > > > > 'Select the list of stores (range) on "scroll list" sheet > > > > With wksScroll > > > > Set rngLoop = Range("a1", .Range("a1").End(xlDown)) > > > > End With > > > > > > > > 'show outline levels on wksTemp > > > > wksTemp.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > > > 'Loop through each cell in rngLoop > > > > For Each rngCell In rngLoop > > > > With wksTemp > > > > .Range("B1").Value = rngCell > > > > .Calculate > > > > strLocation = .Range("B1").Value > > > > End With > > > > > > > > 'Create new sheet for strLocation and name it > > > > wksTemp.Copy Before:=wksTemp > > > > Set wksNew = ActiveSheet > > > > > > > > With wksNew > > > > .Name = Trim(strLocation) > > > > > > > > 'Select cells and replace formulas with values > > > > .Cells.Copy > > > > .Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > > SkipBlanks:=False, Transpose:=False > > > > Application.CutCopyMode = False > > > > End With > > > > > > > > 'fill in the next line of wksDirBonus > > > > CopyToNext wksDirBonus > > > > > > > > 'fill in the next line of wksAstBonus > > > > CopyToNext wksAstBonus > > > > Next > > > > > > > > wksDirBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > wksAstBonus.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 > > > > > > > > 'Hide working sheets > > > > Sheets("Template").Visible = False > > > > Sheets("Instructions").Visible = False > > > > Sheets("str list").Visible = False > > > > Sheets("SOSP03").Visible = False > > > > Sheets("SOSP03 YTD").Visible = False > > > > Sheets("ident sales").Visible = False > > > > Sheets("ident sales YTD").Visible = False > > > > Sheets("not ident history").Visible = False > > > > Sheets("SOSP04-Inv").Visible = False > > > > Sheets("SOSP05-labor actuals").Visible = False > > > > Sheets("SOSP05 YTD-labor actuals").Visible = False > > > > Sheets("Gordy's labor bud").Visible = False > > > > Sheets("Gordy's labor bud YTD").Visible = False > > > > Sheets("Poulsen's P&G focus QTR").Visible = False > > > > Sheets("Gary's bonus").Visible = False > > > > Sheets("Hal's out of stock").Visible = False > > > > Sheets("Cust 1st fr Mys Shop").Visible = False > > > > Sheets("Sales Brackets").Visible = False > > > > Sheets("Mys Shop Goals").Visible = False > > > > Sheets("Key Retailing").Visible = False > > > > Sheets("Rod's Turnover").Visible = False > > > > Sheets("Mark's Safety").Visible = False > > > > Sheets("Bill's Loyalty").Visible = False > > > > Sheets("Points Summary").Visible = False > > > > Sheets("scroll list").Visible = False > > > > > > > > End Sub > > > > > > > > Sub CopyToNext(wks As Worksheet) > > > > > > > > Dim rngfill As Range > > > > > > > > With wks > > > > .Calculate > > > > Set rngfill = Nothing > > > > Set rngfill = Range("A" & Rows.Count).End(xlUp) 'tried this with & without the period before "Range" > > > > Set rngfill = rngfill.Offset(1, 0) > > > > > > > > Rows("5:5").Copy > > > Line111 rngfill.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ > > > > SkipBlanks:=False, Transpose:=False > > > > > > > > rngfill.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ > > > > SkipBlanks:=False, Transpose:=False > > > > > > > > Application.CutCopyMode = False > > > > > > > > > End With > > > >End Sub > > > > > > -- > > > Thanks, > > > PTweety |
|
||
|
||||
|
|
|
| |
![]() |
| Thread Tools | |
| Rate This Thread | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Automatically perform action when closing Excel Worksheet | PaddyMac | Microsoft Excel Programming | 4 | 12th Oct 2009 04:10 AM |
| how to perform auto correct function on a mail merge document | =?Utf-8?B?Um9uZw==?= | Microsoft Word Document Management | 2 | 24th Aug 2006 06:41 AM |
| Attempting to perform two different sorts on one worksheet. | Casey | Microsoft Excel Misc | 1 | 29th Sep 2004 04:03 PM |
| Attempting to perform two different sorts on one worksheet. | Casey | Microsoft Excel Misc | 1 | 28th Sep 2004 09:39 PM |
| Attempting to perform two different sorts on one worksheet. | Casey | Microsoft Excel Misc | 2 | 28th Sep 2004 06:57 PM |
Powered by vBulletin®. Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2010, Crawlability, Inc. |




