ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Simplifying VBA code (https://www.excelbanter.com/excel-programming/315531-simplifying-vba-code.html)

Steve[_71_]

Simplifying VBA code
 
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list of names,
unformatted and raw. The list exists simply to be a list that can be updated,
but has no purpose other than that. On worksheet 1 I have a schedule of
sorts. I have been recording a macro to find and format the names from the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will automatically
read from the list and format the names accordingly on worksheet 1?

Thanks for your help,
Steve

Bob Phillips[_6_]

Simplifying VBA code
 
Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolinFind(val As String)
Dim oRng As rantge

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:="anix", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list of

names,
unformatted and raw. The list exists simply to be a list that can be

updated,
but has no purpose other than that. On worksheet 1 I have a schedule of
sorts. I have been recording a macro to find and format the names from the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell, LookIn:=xlFormulas, LookAt

_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell, LookIn:=xlFormulas, LookAt

_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will automatically
read from the list and format the names accordingly on worksheet 1?

Thanks for your help,
Steve




Steve[_71_]

Simplifying VBA code
 
I am getting a syntax error on:
prolineFind. Cells(i, "A")

"Bob Phillips" wrote:

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolinFind(val As String)
Dim oRng As rantge

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:="anix", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list of

names,
unformatted and raw. The list exists simply to be a list that can be

updated,
but has no purpose other than that. On worksheet 1 I have a schedule of
sorts. I have been recording a macro to find and format the names from the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell, LookIn:=xlFormulas, LookAt

_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell, LookIn:=xlFormulas, LookAt

_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will automatically
read from the list and format the names accordingly on worksheet 1?

Thanks for your help,
Steve





Bob Phillips[_6_]

Simplifying VBA code
 
Sorry typos, try this

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolineFind(val As String)
Dim oRng As Range

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:=val, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I am getting a syntax error on:
prolineFind. Cells(i, "A")

"Bob Phillips" wrote:

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolinFind(val As String)
Dim oRng As rantge

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:="anix", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list of

names,
unformatted and raw. The list exists simply to be a list that can be

updated,
but has no purpose other than that. On worksheet 1 I have a schedule

of
sorts. I have been recording a macro to find and format the names from

the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell, LookIn:=xlFormulas,

LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell, LookIn:=xlFormulas,

LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will

automatically
read from the list and format the names accordingly on worksheet 1?

Thanks for your help,
Steve







Steve[_71_]

Simplifying VBA code
 
I tried to fix it myself, but as you can probably tell, I might as well be
trying to read Chinese.

"Bob Phillips" wrote:

Sorry typos, try this

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolineFind(val As String)
Dim oRng As Range

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:=val, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I am getting a syntax error on:
prolineFind. Cells(i, "A")

"Bob Phillips" wrote:

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolinFind(val As String)
Dim oRng As rantge

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:="anix", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list of
names,
unformatted and raw. The list exists simply to be a list that can be
updated,
but has no purpose other than that. On worksheet 1 I have a schedule

of
sorts. I have been recording a macro to find and format the names from

the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell, LookIn:=xlFormulas,

LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell, LookIn:=xlFormulas,

LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will

automatically
read from the list and format the names accordingly on worksheet 1?

Thanks for your help,
Steve







Steve[_71_]

Simplifying VBA code
 
Thank you sir. It worked great. I have one more question though. How can i
tweak it so that instead of jus the once cell bg color being edited, the cell
bg color will change for the entire row of information (a:ah)?

Thanks again,
Steve

"Bob Phillips" wrote:

Sorry typos, try this

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolineFind(val As String)
Dim oRng As Range

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:=val, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I am getting a syntax error on:
prolineFind. Cells(i, "A")

"Bob Phillips" wrote:

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolinFind(val As String)
Dim oRng As rantge

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:="anix", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list of
names,
unformatted and raw. The list exists simply to be a list that can be
updated,
but has no purpose other than that. On worksheet 1 I have a schedule

of
sorts. I have been recording a macro to find and format the names from

the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell, LookIn:=xlFormulas,

LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell, LookIn:=xlFormulas,

LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will

automatically
read from the list and format the names accordingly on worksheet 1?

Thanks for your help,
Steve







Bob Phillips[_6_]

Simplifying VBA code
 
Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolineFind(val As String)
Dim oRng As Range

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:=val, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng.Entirerow
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
Thank you sir. It worked great. I have one more question though. How can i
tweak it so that instead of jus the once cell bg color being edited, the

cell
bg color will change for the entire row of information (a:ah)?

Thanks again,
Steve

"Bob Phillips" wrote:

Sorry typos, try this

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolineFind(val As String)
Dim oRng As Range

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:=val, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I am getting a syntax error on:
prolineFind. Cells(i, "A")

"Bob Phillips" wrote:

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolinFind(val As String)
Dim oRng As rantge

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:="anix", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list

of
names,
unformatted and raw. The list exists simply to be a list that can

be
updated,
but has no purpose other than that. On worksheet 1 I have a

schedule
of
sorts. I have been recording a macro to find and format the names

from
the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will

automatically
read from the list and format the names accordingly on worksheet

1?

Thanks for your help,
Steve









Steve[_71_]

Simplifying VBA code
 
You are a good man Charlie Brown. Thanks for all the help.
Steve

"Bob Phillips" wrote:

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolineFind(val As String)
Dim oRng As Range

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:=val, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng.Entirerow
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
Thank you sir. It worked great. I have one more question though. How can i
tweak it so that instead of jus the once cell bg color being edited, the

cell
bg color will change for the entire row of information (a:ah)?

Thanks again,
Steve

"Bob Phillips" wrote:

Sorry typos, try this

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolineFind(val As String)
Dim oRng As Range

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:=val, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I am getting a syntax error on:
prolineFind. Cells(i, "A")

"Bob Phillips" wrote:

Option Explicit

Sub proline()
Dim cRows As Long
Dim i As Long
With Worksheets("Sheet2")
cRows = .Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To cRows
prolineFind .Cells(i, "A")
Next i
End With
End Sub

Sub prolinFind(val As String)
Dim oRng As rantge

With Worksheets("Sheet1")
On Error Resume Next
Set oRng = .Cells.Find(What:="anix", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not oRng Is Nothing Then
With oRng
With .Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
.Font.Bold = True
End With
End If
End With

End Sub


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Steve" wrote in message
...
I actually have a couple of questions:

I have a workbook with 2 worksheets in it. On worksheet2 is a list

of
names,
unformatted and raw. The list exists simply to be a list that can

be
updated,
but has no purpose other than that. On worksheet 1 I have a

schedule
of
sorts. I have been recording a macro to find and format the names

from
the
list on worksheet2. Here is the code I have:
Sub proline()
'
' proline Macro
' Macro recorded 11/2/2004 by SGAUER
'

'
Cells.Find(What:="anix", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bach", After:=ActiveCell,

LookIn:=xlFormulas,
LookAt
_
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="buck", After:=ActiveCell,
LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Cells.Find(What:="bwoo", After:=ActiveCell,
LookIn:=xlFormulas,
LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
False).Activate
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
Selection.Font.Bold = True
ActiveWindow.ScrollRow = 1
Range("A1").Select
End Sub

How do I simplify it and write a next code so that it will
automatically
read from the list and format the names accordingly on worksheet

1?

Thanks for your help,
Steve











All times are GMT +1. The time now is 04:40 AM.

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