Copy range if match

J

J.W. Aldridge

Sheet 1. Has two sets of data. B6:G and I6:N.

The code below copies the numbers in column B if they have a match in
column I.

How should I go about changing to copy not only B, but the remaining
row info (B through G) if match. ?


Sub ABC()
Dim cell As Range, c As Range
Dim i As Range, rw As Long
Dim sh As Worksheet
With Worksheets("Data")
Set c = .Range(.Cells(6, "B"), .Cells(6, "B").End(xlDown))
Set i = .Range(.Cells(6, "I"), .Cells(6, "I").End(xlDown))
End With
rw = 2


Set sh = Worksheets("RESULTS")
For Each cell In c
If Application.CountIf(i, cell) > 0 Then
sh.Cells(rw, 1) = cell
rw = rw + 1
End If
Next
End Sub
 
M

meh2030

Sheet 1. Has two sets of data. B6:G and I6:N.

The code below copies the numbers in column B if they have a match in
column I.

How should I go about changing to copy not only B, but the remaining
row info (B through G) if match. ?

Sub ABC()
Dim cell As Range, c As Range
Dim i As Range, rw As Long
Dim sh As Worksheet
With Worksheets("Data")
Set c = .Range(.Cells(6, "B"), .Cells(6, "B").End(xlDown))
Set i = .Range(.Cells(6, "I"), .Cells(6, "I").End(xlDown))
End With
rw = 2

Set sh = Worksheets("RESULTS")
For Each cell In c
If Application.CountIf(i, cell) > 0 Then
  sh.Cells(rw, 1) = cell
  rw = rw + 1
End If
Next
End Sub

I'm not quite sure if I follow what you are asking exactly, but the
following code may be of help to you:

Best,

Matt Herbert

If Application.CountIf(i, cell) > 0 Then
Range(cell, Cells(cell.Row, "G")).Copy sh.Cells(rw, 1)
rw = rw + 1
End If
 
J

J.W. Aldridge

Thanx.!
That worked purfectly!

When I make my first million... I'm buying you a Krystal! (or White
Castle)
And that's WITH cheese my friend!
 

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