ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   help with match, copy, paste please (https://www.excelbanter.com/excel-programming/367726-help-match-copy-paste-please.html)

Mona

help with match, copy, paste please
 
I have example data on worksheet ("results"):

A B C D
1 maybe car
8 maybe van 03/04/2007

I will randomly change any or all of the data ONLY in columns B,C, or D to
something like this:

A B C D
1 maybe car 09/12/2006
8 no van 05/26/2007

I would like help in writting the code to COPY the entire row/rows from
"results" and paste to a "master" worksheet when column A ("results") matches
column A ("master"). Column A in both "master" and "results" are unique
values.

thank you !!

Jim Thomlinson

help with match, copy, paste please
 
Why not just use VLookup worksheet function?
--
HTH...

Jim Thomlinson


"Mona" wrote:

I have example data on worksheet ("results"):

A B C D
1 maybe car
8 maybe van 03/04/2007

I will randomly change any or all of the data ONLY in columns B,C, or D to
something like this:

A B C D
1 maybe car 09/12/2006
8 no van 05/26/2007

I would like help in writting the code to COPY the entire row/rows from
"results" and paste to a "master" worksheet when column A ("results") matches
column A ("master"). Column A in both "master" and "results" are unique
values.

thank you !!


Tom Ogilvy

help with match, copy, paste please
 
Sub CopyResults()
Dim res as Variant
Dim resRng as Range
Dim masRng as Range
Dim rng as Range
With worksheets("Results")
set resRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))

With worksheets("Master")
set masRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))
end with
for each cell in resRng
res = application.Match(cell.value, masRng,0)
if not iserror(res) then
cell.Entirerow.copy masRng(res)
else
set rng = .cells(rows.count,1).end(xlup)(2)
cell.entirerow.copy rng
end if
Next
End With
End Sub

Test on a copy of your workbook

--
Regards,
Tom Ogilvy


"Mona" wrote:

I have example data on worksheet ("results"):

A B C D
1 maybe car
8 maybe van 03/04/2007

I will randomly change any or all of the data ONLY in columns B,C, or D to
something like this:

A B C D
1 maybe car 09/12/2006
8 no van 05/26/2007

I would like help in writting the code to COPY the entire row/rows from
"results" and paste to a "master" worksheet when column A ("results") matches
column A ("master"). Column A in both "master" and "results" are unique
values.

thank you !!


Mona

help with match, copy, paste please
 
I could. But I am putting buttons on the worksheet so user has the ability
to change master with the click of the button

"Jim Thomlinson" wrote:

Why not just use VLookup worksheet function?
--
HTH...

Jim Thomlinson


"Mona" wrote:

I have example data on worksheet ("results"):

A B C D
1 maybe car
8 maybe van 03/04/2007

I will randomly change any or all of the data ONLY in columns B,C, or D to
something like this:

A B C D
1 maybe car 09/12/2006
8 no van 05/26/2007

I would like help in writting the code to COPY the entire row/rows from
"results" and paste to a "master" worksheet when column A ("results") matches
column A ("master"). Column A in both "master" and "results" are unique
values.

thank you !!


Mona

help with match, copy, paste please
 
Tom-
this is perfect! thank you

"Tom Ogilvy" wrote:

Sub CopyResults()
Dim res as Variant
Dim resRng as Range
Dim masRng as Range
Dim rng as Range
With worksheets("Results")
set resRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))

With worksheets("Master")
set masRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))
end with
for each cell in resRng
res = application.Match(cell.value, masRng,0)
if not iserror(res) then
cell.Entirerow.copy masRng(res)
else
set rng = .cells(rows.count,1).end(xlup)(2)
cell.entirerow.copy rng
end if
Next
End With
End Sub

Test on a copy of your workbook

--
Regards,
Tom Ogilvy


"Mona" wrote:

I have example data on worksheet ("results"):

A B C D
1 maybe car
8 maybe van 03/04/2007

I will randomly change any or all of the data ONLY in columns B,C, or D to
something like this:

A B C D
1 maybe car 09/12/2006
8 no van 05/26/2007

I would like help in writting the code to COPY the entire row/rows from
"results" and paste to a "master" worksheet when column A ("results") matches
column A ("master"). Column A in both "master" and "results" are unique
values.

thank you !!


Mona

help with match, copy, paste please
 
Tom-
this just came up and I can't seem to figure out. Using the "perfect" code
below work when I have 2 or more rows of data. But if I only have 1 row of
data I get an error but it actually updates my "master". From time to time I
will have only one row of data. Can you help me with this one? Thanks!

"Tom Ogilvy" wrote:

Sub CopyResults()
Dim res as Variant
Dim resRng as Range
Dim masRng as Range
Dim rng as Range
With worksheets("Results")
set resRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))

With worksheets("Master")
set masRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))
end with
for each cell in resRng
res = application.Match(cell.value, masRng,0)
if not iserror(res) then
cell.Entirerow.copy masRng(res)
else
set rng = .cells(rows.count,1).end(xlup)(2)
cell.entirerow.copy rng
end if
Next
End With
End Sub

Test on a copy of your workbook

--
Regards,
Tom Ogilvy


"Mona" wrote:

I have example data on worksheet ("results"):

A B C D
1 maybe car
8 maybe van 03/04/2007

I will randomly change any or all of the data ONLY in columns B,C, or D to
something like this:

A B C D
1 maybe car 09/12/2006
8 no van 05/26/2007

I would like help in writting the code to COPY the entire row/rows from
"results" and paste to a "master" worksheet when column A ("results") matches
column A ("master"). Column A in both "master" and "results" are unique
values.

thank you !!


Tom Ogilvy

help with match, copy, paste please
 
My guess would be to change
set resRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))

to

if .cells(1,1).End(xldown).row < rows.count then
set resRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))
else
set resRng = .Range("A1")
End if

--
regards,
Tom Ogilvy

"Mona" wrote in message
...
Tom-
this just came up and I can't seem to figure out. Using the "perfect"
code
below work when I have 2 or more rows of data. But if I only have 1 row
of
data I get an error but it actually updates my "master". From time to
time I
will have only one row of data. Can you help me with this one? Thanks!

"Tom Ogilvy" wrote:

Sub CopyResults()
Dim res as Variant
Dim resRng as Range
Dim masRng as Range
Dim rng as Range
With worksheets("Results")
set resRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))

With worksheets("Master")
set masRng = .Range(.Cells(1,1),.cells(1,1).End(xldown))
end with
for each cell in resRng
res = application.Match(cell.value, masRng,0)
if not iserror(res) then
cell.Entirerow.copy masRng(res)
else
set rng = .cells(rows.count,1).end(xlup)(2)
cell.entirerow.copy rng
end if
Next
End With
End Sub

Test on a copy of your workbook

--
Regards,
Tom Ogilvy


"Mona" wrote:

I have example data on worksheet ("results"):

A B C D
1 maybe car
8 maybe van 03/04/2007

I will randomly change any or all of the data ONLY in columns B,C, or D
to
something like this:

A B C D
1 maybe car 09/12/2006
8 no van 05/26/2007

I would like help in writting the code to COPY the entire row/rows
from
"results" and paste to a "master" worksheet when column A ("results")
matches
column A ("master"). Column A in both "master" and "results" are
unique
values.

thank you !!





All times are GMT +1. The time now is 01:09 PM.

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