ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   find entire string then row background red (https://www.excelbanter.com/excel-programming/397739-find-entire-string-then-row-background-red.html)

[email protected][_2_]

find entire string then row background red
 
Hi Everyone

I dont know how easy this is but I wondered if this can be done in
code.

I need a macro to look down column A and search for an extract string
of text.

Everytime it finds a match it is then to highlight the row and format
the background of the row a specified colour.

I want to be able to use this macro for different string to colour all
my data.

I hope someone can help,

Many thanks

Andrea


Pranav Vaidya

find entire string then row background red
 
Hi Andrea,

Hope the below code helps!!!

Sub test()
Dim i As Integer
Dim mSearch As String
On Error GoTo HandleError
'This is your search string
mSearch = "test"
'Search for the string in column A
i = WorksheetFunction.Match(mSearch, Range("A:A"), 0)
'If found select the entire row
Range("" & i & ":" & i & "").Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Range("A" & i).Select

HandleError:
End Sub

--
Pranav Vaidya
VBA Developer
PN, MH-India
If you think my answer is useful, please rate this post as an ANSWER!!


" wrote:

Hi Everyone

I dont know how easy this is but I wondered if this can be done in
code.

I need a macro to look down column A and search for an extract string
of text.

Everytime it finds a match it is then to highlight the row and format
the background of the row a specified colour.

I want to be able to use this macro for different string to colour all
my data.

I hope someone can help,

Many thanks

Andrea



Tom Ogilvy

find entire string then row background red
 
Sub ColorCells()
Dim ans As String, ans1 As Long
Dim c As Range, rng2 As Range
Dim firstaddress As String
With ActiveSheet
Set rng2 = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
End With
ans = InputBox("Enter string to search for")
ans1 = Application.InputBox("enter colorIndex number for color", Type:=1)


Set c = rng2.Find(What:=ans, _
After:=rng2(rng2.Count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)

If Not c Is Nothing Then
firstaddress = c.Address
Do
c.EntireRow.Interior.ColorIndex = ans1
Set c = rng2.FindNext(c)
Loop While c.Address < firstaddress
End If
End Sub


Worked for me.

--
Regards,
Tom Ogilvy


" wrote:

Hi Everyone

I dont know how easy this is but I wondered if this can be done in
code.

I need a macro to look down column A and search for an extract string
of text.

Everytime it finds a match it is then to highlight the row and format
the background of the row a specified colour.

I want to be able to use this macro for different string to colour all
my data.

I hope someone can help,

Many thanks

Andrea



JW[_2_]

find entire string then row background red
 
Depending on how many conditions you have, I believe Conditional
Formatting might be the way to go here.
Tom Ogilvy wrote:
Sub ColorCells()
Dim ans As String, ans1 As Long
Dim c As Range, rng2 As Range
Dim firstaddress As String
With ActiveSheet
Set rng2 = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
End With
ans = InputBox("Enter string to search for")
ans1 = Application.InputBox("enter colorIndex number for color", Type:=1)


Set c = rng2.Find(What:=ans, _
After:=rng2(rng2.Count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)

If Not c Is Nothing Then
firstaddress = c.Address
Do
c.EntireRow.Interior.ColorIndex = ans1
Set c = rng2.FindNext(c)
Loop While c.Address < firstaddress
End If
End Sub


Worked for me.

--
Regards,
Tom Ogilvy


" wrote:

Hi Everyone

I dont know how easy this is but I wondered if this can be done in
code.

I need a macro to look down column A and search for an extract string
of text.

Everytime it finds a match it is then to highlight the row and format
the background of the row a specified colour.

I want to be able to use this macro for different string to colour all
my data.

I hope someone can help,

Many thanks

Andrea




Tom Ogilvy

find entire string then row background red
 
I the OP doesn't mind the overhead and only needs 3 colors plus the
background color, I would agree. If he will be changing colors or doesn't
want the overhead (or is using conditional formatting for some other purpose)
or needs more than 3, then perhaps not.

Nonetheless go ahead and lay it out.

--
Regards,
Tom Ogilvy



"JW" wrote:

Depending on how many conditions you have, I believe Conditional
Formatting might be the way to go here.
Tom Ogilvy wrote:
Sub ColorCells()
Dim ans As String, ans1 As Long
Dim c As Range, rng2 As Range
Dim firstaddress As String
With ActiveSheet
Set rng2 = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
End With
ans = InputBox("Enter string to search for")
ans1 = Application.InputBox("enter colorIndex number for color", Type:=1)


Set c = rng2.Find(What:=ans, _
After:=rng2(rng2.Count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)

If Not c Is Nothing Then
firstaddress = c.Address
Do
c.EntireRow.Interior.ColorIndex = ans1
Set c = rng2.FindNext(c)
Loop While c.Address < firstaddress
End If
End Sub


Worked for me.

--
Regards,
Tom Ogilvy


" wrote:

Hi Everyone

I dont know how easy this is but I wondered if this can be done in
code.

I need a macro to look down column A and search for an extract string
of text.

Everytime it finds a match it is then to highlight the row and format
the background of the row a specified colour.

I want to be able to use this macro for different string to colour all
my data.

I hope someone can help,

Many thanks

Andrea





[email protected][_2_]

find entire string then row background red
 
Hi Tom

I wondered if there is a way for your original macro to lookup the
exact values from sheet2 column A and then the colorindex value from
sheet2 column B. This would save me alot of time.

Please let me know if your macro can be revised to show this.

Thanks alot

Andrea

On Sep 19, 3:22 pm, Tom Ogilvy
wrote:
Sub ColorCells()
Dim ans As String, ans1 As Long
Dim c As Range, rng2 As Range
Dim firstaddress As String
With ActiveSheet
Set rng2 = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp))
End With
ans = InputBox("Enter string to search for")
ans1 = Application.InputBox("enter colorIndex number for color", Type:=1)

Set c = rng2.Find(What:=ans, _
After:=rng2(rng2.Count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)

If Not c Is Nothing Then
firstaddress = c.Address
Do
c.EntireRow.Interior.ColorIndex = ans1
Set c = rng2.FindNext(c)
Loop While c.Address < firstaddress
End If
End Sub

Worked for me.

--
Regards,
Tom Ogilvy



" wrote:
Hi Everyone


I dont know how easy this is but I wondered if this can be done in
code.


I need a macro to look down column A and search for an extract string
of text.


Everytime it finds a match it is then to highlight the row and format
the background of the row a specified colour.


I want to be able to use this macro for different string to colour all
my data.


I hope someone can help,


Many thanks


Andrea- Hide quoted text -


- Show quoted text -





All times are GMT +1. The time now is 11:10 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com