ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Searching for a string and then shading the row (https://www.excelbanter.com/excel-programming/389326-searching-string-then-shading-row.html)

Greg Spencer

Searching for a string and then shading the row
 
Being new to VBA programming, I'm struggling to put together a macro that
will accomplish the following:

1. Search the cells in a specific column (H) - starting at row 3 - for the
presence of a particular word from a list of 3 different words.

2. If one of the words is found, the entire row (from columns A through H)
would be shaded.

3. The search would continue through the rest of the cells in the column
with the same action being repeated to the end of the column.

All help would be appreciated!

Vergel Adriano

Searching for a string and then shading the row
 
Greg,

Here's one way to do it:

Sub test()
Dim rng As Range
Dim c As Range
Dim vWords As Variant

vWords = Array("One", "Two", "Three")

Set rng = Range(Range("H3"), Range("H65535").End(xlUp))

For Each c In rng
If InStr(1, c.Text, vWords(0), vbTextCompare) 0 Or _
InStr(1, c.Text, vWords(1), vbTextCompare) 0 Or _
InStr(1, c.Text, vWords(2), vbTextCompare) 0 Then

'color it gray
c.Offset(0, -7).Resize(1, 8).Interior.ColorIndex = 15

End If

Next c
End Sub


--
Hope that helps.

Vergel Adriano


"Greg Spencer" wrote:

Being new to VBA programming, I'm struggling to put together a macro that
will accomplish the following:

1. Search the cells in a specific column (H) - starting at row 3 - for the
presence of a particular word from a list of 3 different words.

2. If one of the words is found, the entire row (from columns A through H)
would be shaded.

3. The search would continue through the rest of the cells in the column
with the same action being repeated to the end of the column.

All help would be appreciated!


Greg Spencer[_2_]

Searching for a string and then shading the row
 
That works great. Thanks!

Greg

"Vergel Adriano" wrote:

Greg,

Here's one way to do it:

Sub test()
Dim rng As Range
Dim c As Range
Dim vWords As Variant

vWords = Array("One", "Two", "Three")

Set rng = Range(Range("H3"), Range("H65535").End(xlUp))

For Each c In rng
If InStr(1, c.Text, vWords(0), vbTextCompare) 0 Or _
InStr(1, c.Text, vWords(1), vbTextCompare) 0 Or _
InStr(1, c.Text, vWords(2), vbTextCompare) 0 Then

'color it gray
c.Offset(0, -7).Resize(1, 8).Interior.ColorIndex = 15

End If

Next c
End Sub


--
Hope that helps.

Vergel Adriano


"Greg Spencer" wrote:

Being new to VBA programming, I'm struggling to put together a macro that
will accomplish the following:

1. Search the cells in a specific column (H) - starting at row 3 - for the
presence of a particular word from a list of 3 different words.

2. If one of the words is found, the entire row (from columns A through H)
would be shaded.

3. The search would continue through the rest of the cells in the column
with the same action being repeated to the end of the column.

All help would be appreciated!



All times are GMT +1. The time now is 01:26 AM.

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