ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Pasting rows below the last row with data? (https://www.excelbanter.com/excel-programming/361572-pasting-rows-below-last-row-data.html)

flurry[_4_]

Pasting rows below the last row with data?
 

I've got a macro which Tom and Don kindly helped me with - it searches
for 'n' in Column F and if it find it copies that whole row into a
sheet called 'Diary'. Only problem is I need it to copy it to the
bottom of the the diary sheet rather than replacing the data which is
already in that sheet - I've tried to modify the macro but can't make
it work - any help would be very much appreciated!!!!! The current
macro is below:

Sub SearchForStringFeb()

Dim LSearchRow As Integer
Dim LCopyToRow As Integer

On Error GoTo Err_Execute

'Start search in row 7
LSearchRow = 7

'Start copying data to row 7 in Sheet2 (row counter variable)
LCopyToRow = 7

While Len(Range("A" & CStr(LSearchRow)).Value) 0

'If value in column F = "n", copy entire row to Sheet2
If Range("F" & CStr(LSearchRow)).Value = "n" Then

'Select row in January to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy

'Paste row into Diary in next row
Sheets("Diary").Select
Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
ActiveSheet.Paste

'Move counter to next row
LCopyToRow = LCopyToRow + 1

'Go back to Sheet1 to continue searching
Sheets("February").Select

End If

LSearchRow = LSearchRow + 1

Wend

'Position on cell A3
Application.CutCopyMode = False
Range("A3").Select

MsgBox "All matching data has been copied."

Exit Sub

Err_Execute:
MsgBox "An error occurred."

End Sub


--
flurry
------------------------------------------------------------------------
flurry's Profile: http://www.excelforum.com/member.php...o&userid=34303
View this thread: http://www.excelforum.com/showthread...hreadid=542391


Mike Fogleman

Pasting rows below the last row with data?
 
'Start copying data to row 7 in Sheet2 (row counter variable)
LCopyToRow = Worksheets("Diary").Cells(Rows.Count, "A").End(xlUp).Row + 1
If LCopyToRow < 7 Then LCopyToRow = 7

Mike F

"flurry" wrote in
message ...

I've got a macro which Tom and Don kindly helped me with - it searches
for 'n' in Column F and if it find it copies that whole row into a
sheet called 'Diary'. Only problem is I need it to copy it to the
bottom of the the diary sheet rather than replacing the data which is
already in that sheet - I've tried to modify the macro but can't make
it work - any help would be very much appreciated!!!!! The current
macro is below:

Sub SearchForStringFeb()

Dim LSearchRow As Integer
Dim LCopyToRow As Integer

On Error GoTo Err_Execute

'Start search in row 7
LSearchRow = 7

'Start copying data to row 7 in Sheet2 (row counter variable)
LCopyToRow = 7

While Len(Range("A" & CStr(LSearchRow)).Value) 0

'If value in column F = "n", copy entire row to Sheet2
If Range("F" & CStr(LSearchRow)).Value = "n" Then

'Select row in January to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy

'Paste row into Diary in next row
Sheets("Diary").Select
Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
ActiveSheet.Paste

'Move counter to next row
LCopyToRow = LCopyToRow + 1

'Go back to Sheet1 to continue searching
Sheets("February").Select

End If

LSearchRow = LSearchRow + 1

Wend

'Position on cell A3
Application.CutCopyMode = False
Range("A3").Select

MsgBox "All matching data has been copied."

Exit Sub

Err_Execute:
MsgBox "An error occurred."

End Sub


--
flurry
------------------------------------------------------------------------
flurry's Profile:
http://www.excelforum.com/member.php...o&userid=34303
View this thread: http://www.excelforum.com/showthread...hreadid=542391




Christian[_8_]

Pasting rows below the last row with data?
 
Hi flurry

try the following

LCopyToRow = Application.CountIf(Worksheets("Diary").Range("A:A "),
"<")



'Select row in January or February to copy
Rows(LSearchRow).Copy Destination:=Worksheets("Diary").Rows(LCopyToRow
+ 1)


'Move counter to next row
LCopyToRow = LCopyToRow + 1

Cheers Christian



All times are GMT +1. The time now is 02:18 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com