![]() |
Macro help
I was wondering if the following can be done
I want to create a macro that will look in column C for a letter or a combination of letters and then when it finds the particular letter(s), I would like it to go to the corresponding numeric value in column A. Then search all of column A for any like numeric values and then show me the corresponding letter(s) that are associated with that value. Example: Column A Column B Column C 5 x ab 9 x cdi 5 x b 9 x grt So if I were to enter the letters €œab€ into my macro it would tell me the value is €œ5€ and the other letter that contains that value is €œb€. Is this possible to do?? |
Macro help
Nick,
Try this: Sub test() Call MatchCols("cd") End Sub Sub MatchCols(mValue) Dim res, n As Long, c, firstaddress As String Dim Letters() As String, num As Integer, i As Integer n = 0 res = Application.Match(mValue, Range("c1:C5"), 0) ' <=== Change range If Not IsError(res) Then num = Cells(res, 3).Offset(0, -2) With Worksheets(1).Range("a1:a5") ' <== Changr range Set c = .Find(num, LookIn:=xlValues) If Not c Is Nothing Then firstaddress = c.Address Do n = n + 1 ReDim Preserve Letters(n) Letters(n) = c.Offset(0, 2).Value Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address < firstaddress End If End With Else MsgBox mValue & " not found" End If For i = 1 To n Debug.Print Letters(i) Next i End Sub "nick55" wrote: I was wondering if the following can be done I want to create a macro that will look in column C for a letter or a combination of letters and then when it finds the particular letter(s), I would like it to go to the corresponding numeric value in column A. Then search all of column A for any like numeric values and then show me the corresponding letter(s) that are associated with that value. Example: Column A Column B Column C 5 x ab 9 x cdi 5 x b 9 x grt So if I were to enter the letters €œab€ into my macro it would tell me the value is €œ5€ and the other letter that contains that value is €œb€. Is this possible to do?? |
Macro help
You can give this a try...
Sub FindAll() Dim wksToSearch As Worksheet Dim wksToPaste As Worksheet Dim rngToSearch As Range Dim rngToPaste As Range Dim rngCurrent As Range Dim rngFirst As Range Dim rngFound As Range Set wksToSearch = Sheets("Sheet1") Set rngToSearch = wksToSearch.Columns(3) Set rngCurrent = rngToSearch.Find(InputBox("What letter?")) If Not rngCurrent Is Nothing Then Set rngToSearch = wksToSearch.Columns(1) Set rngCurrent = rngToSearch.Find(rngCurrent.Offset(0, -2)) Set rngFound = rngCurrent Set rngFirst = rngCurrent Do Set rngFound = Union(rngFound, rngCurrent) Set rngCurrent = rngToSearch.FindNext(rngCurrent) Loop Until rngCurrent.Address = rngFirst.Address Set wksToPaste = Worksheets.Add rngFound.EntireRow.Copy wksToPaste.Range("A1") Else MsgBox "That letter was not found" End If End Sub -- HTH... Jim Thomlinson "nick55" wrote: I was wondering if the following can be done I want to create a macro that will look in column C for a letter or a combination of letters and then when it finds the particular letter(s), I would like it to go to the corresponding numeric value in column A. Then search all of column A for any like numeric values and then show me the corresponding letter(s) that are associated with that value. Example: Column A Column B Column C 5 x ab 9 x cdi 5 x b 9 x grt So if I were to enter the letters €œab€ into my macro it would tell me the value is €œ5€ and the other letter that contains that value is €œb€. Is this possible to do?? |
All times are GMT +1. The time now is 01:07 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com