Copying Values to matching labels

C

Craig

i've got a list of possible labels in column A, and a list of present
labels in column J. Now I want to copy the data from column J to
column b in the row corresponding to the appropriate label (in column
A). Here's what i have so far

Sub Macro1()
Dim rngA As Range
Dim rngB As Range
Dim A As Range
Dim LrowA As Long
Dim LrowB As Long
LrowA = Cells(Rows.Count, "I").End(xlDown).Row
Set rngA = Range("I7:I" & LrowA)
LrowB = Cells(Rows.Count, "A").End(xlDown).Row
Set rngB = Range("A7:A" & LrowB)
For Each A In rngA
myCell = A.Value
A.Select
ActiveCell.Offset(0, 1).Activate
Selection.Copy
rngB.Select
Selection.Find(What:=A.Value, After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Activate
Selection.Paste
Next A
Application.DisplayAlerts = True

End Sub


i'm pretty new to this, so i don't even know if this is the best way to
try and do this, but it keeps flagging the Selection.Paste line with a
runtime error 438, Object doesn't support this property or method. Any
ideas?

oh, and there's some other code that i left out that just parses and
transposes the data, that's why i set the ranges where they are. it's
working so i left it out, but i can put it in if it'd help
 
C

Craig

ok, well, i feel a little dumb about that one, but i've fixed it now.
another problem i'm having now though, is the macro just keeps going,
forever, until i ctrl shift break it keeps copying and pasting the same
info over and over again. i'm pretty sure i haven't just made up a
command on this one like i did on that first question, but who knows.
Can anyone tell me how to end this loop that i seem to have gotten
myself stuck in
 
M

Mike Fogleman

Here is a loop within a loop:

Sub Macro1()
Dim rngA As Range
Dim rngB As Range
Dim A As Range
Dim B As Range
Dim LrowA As Long
Dim LrowB As Long
LrowA = Cells(Rows.Count, "I").End(xlUp).Row
Set rngA = Range("I7:I" & LrowA)
LrowB = Cells(Rows.Count, "A").End(xlUp).Row
Set rngB = Range("A7:A" & LrowB)
For Each A In rngA
For Each B In rngB
If A.Value = B.Value Then
B.Offset(0, 1).Value = A.Offset(0, 1).Value
End If
Next B
Next A
Application.DisplayAlerts = True
End Sub

Mike F
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top