ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro help (https://www.excelbanter.com/excel-programming/336933-macro-help.html)

nick55

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??


Toppers

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??


Jim Thomlinson[_4_]

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