Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default I need a Macro

I need a simple macro that will go thru each row of a sheet1 and find each
occurance of column A in sheet 2 and for each occurance fill in the next
column of sheet 1 with the value of Column B from sheet 2.

I tried a vlookup formula which can be used to find the first occurance of
the value in Sheet 1 column A and will return the first match found in Sheet
2. The problem occurs when a second match is found, the vlookup does not see
it. In addition to the need to find the additional values associated with
the repeat numbers, the program needs to place the found value in sheet 1
for each occurance. If 3 values are found then it should fill in Col 2 with
the first found value, Col 3 with the second and so on....

Thanks in advance.


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default I need a Macro

Sub EFG()
Dim sh As Worksheet
Dim rng As Range, rng1 As Range
Dim rng2 As Range, rng4 As Range
Dim cell As Range, sAddr As String
Dim rng2A As Range
Set sh = Worksheets("sheet1")
With sh
Set rng1 = .Range(.Cells(2, 1), .Cells(2, 1).End(xlDown))
End With
With Worksheets("Sheet2")
Set rng2 = .Range(.Cells(2, 1), .Cells(2, 1).End(xlDown))
Set rng2A = rng2(rng2.Count)
End With
Debug.Print rng1.Address, rng2.Address
For Each cell In rng1
Set rng = Nothing
Set rng = rng2.Find(what:=cell.Value, _
After:=rng2A, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False)

If Not rng Is Nothing Then
sAddr = rng.Address
Do
Set rng4 = sh.Cells(cell.Row, 256).End(xlToLeft)(1, 2)
rng4.Value = rng.Offset(0, 1).Value
Set rng = rng2.FindNext(rng)
Loop While rng.Address < sAddr
End If
Next
End Sub

--
Regards,
Tom Ogilvy


"Troy Murphy" wrote in message
...
I need a simple macro that will go thru each row of a sheet1 and find each
occurance of column A in sheet 2 and for each occurance fill in the next
column of sheet 1 with the value of Column B from sheet 2.

I tried a vlookup formula which can be used to find the first occurance of
the value in Sheet 1 column A and will return the first match found in

Sheet
2. The problem occurs when a second match is found, the vlookup does not

see
it. In addition to the need to find the additional values associated with
the repeat numbers, the program needs to place the found value in sheet 1
for each occurance. If 3 values are found then it should fill in Col 2

with
the first found value, Col 3 with the second and so on....

Thanks in advance.




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default I need a Macro

Many Many Thanks!
It worked perfectly! I certainly wish I knew what I was doing :-)

Troy

"Tom Ogilvy" wrote in message
...
Sub EFG()
Dim sh As Worksheet
Dim rng As Range, rng1 As Range
Dim rng2 As Range, rng4 As Range
Dim cell As Range, sAddr As String
Dim rng2A As Range
Set sh = Worksheets("sheet1")
With sh
Set rng1 = .Range(.Cells(2, 1), .Cells(2, 1).End(xlDown))
End With
With Worksheets("Sheet2")
Set rng2 = .Range(.Cells(2, 1), .Cells(2, 1).End(xlDown))
Set rng2A = rng2(rng2.Count)
End With
Debug.Print rng1.Address, rng2.Address
For Each cell In rng1
Set rng = Nothing
Set rng = rng2.Find(what:=cell.Value, _
After:=rng2A, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False)

If Not rng Is Nothing Then
sAddr = rng.Address
Do
Set rng4 = sh.Cells(cell.Row, 256).End(xlToLeft)(1, 2)
rng4.Value = rng.Offset(0, 1).Value
Set rng = rng2.FindNext(rng)
Loop While rng.Address < sAddr
End If
Next
End Sub

--
Regards,
Tom Ogilvy


"Troy Murphy" wrote in message
...
I need a simple macro that will go thru each row of a sheet1 and find
each
occurance of column A in sheet 2 and for each occurance fill in the next
column of sheet 1 with the value of Column B from sheet 2.

I tried a vlookup formula which can be used to find the first occurance
of
the value in Sheet 1 column A and will return the first match found in

Sheet
2. The problem occurs when a second match is found, the vlookup does not

see
it. In addition to the need to find the additional values associated with
the repeat numbers, the program needs to place the found value in sheet 1
for each occurance. If 3 values are found then it should fill in Col 2

with
the first found value, Col 3 with the second and so on....

Thanks in advance.






Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Macro recorded... tabs & file names changed, macro hangs Steve Excel Worksheet Functions 3 October 30th 09 11:41 AM
Macro Help Needed - Excel 2007 - Print Macro with Auto Sort Gavin Excel Worksheet Functions 0 May 17th 07 01:20 PM
how to count/sum by function/macro to get the number of record to do copy/paste in macro tango Excel Programming 1 October 15th 04 01:16 PM
macro to delete entire rows when column A is blank ...a quick macro vikram Excel Programming 4 May 3rd 04 08:45 PM
Start Macro / Stop Macro / Restart Macro Pete[_13_] Excel Programming 2 November 21st 03 05:04 PM


All times are GMT +1. The time now is 04:59 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"