View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
JeffH JeffH is offline
external usenet poster
 
Posts: 21
Default Formatting of fields



"PaulD" wrote:

"JeffH" wrote in message
...
: HI,
:
: I don't know much about Excel Macros but I'm trying to learn this as best
I
: can. I have a macro script that was given to me by another member in this
: forum, I modified it, but it doesn't give me what I want. I need to
format
: every 3rd and fourth row with a different color. I found the correct
color.

So is the macro formatting the colors correctly or not? Do you want
different colors for each row?

: I also need this macro to reset the row formatting if a column gets added
or
: deleted.

If you run the macro again, it should update the row formatting. If you
want to automate this, see Jim Jackson's post

:My question is can I get a suggestion on what to do so that I can
: specify a range of cells versus what's in this script called
'ActiveSheet'.

Public Sub RowColor()
Dim i As Integer
Const RowStart As Integer = 1 'set this number to the starting row
Const RowEnd As Integer = 100 'set this number to the ending row

For i = RowStart To RowEnd
If (i - 1) Mod 4 1 Then
ActiveSheet.Rows(i).Interior.ColorIndex = 10
Else: ActiveSheet.Rows(i).Interior.ColorIndex = xlNone
End If
Next i

End Sub

This could also be written to prompt the user to enter the data, or it could
be written to use a selected range of cells. Please be more specific as to
what you want

: Also, can I associate this macro with a keyboard combination?

Go to Tools Macro Macros... select your macro from the list and click
the options... button.

Paul D


Hi,


Thanks for your help. With your suggestions I have a working macro but I'd
like to clean it up a little. The new macro resets all lines except the
first line, by choice. The only problem is that I'd like to limit that to a
specific column, in this case 'H'. How can I do just that?

Public Sub RowColor()
Dim i As Integer
Const RowStart As Integer = 2 'set this number to the starting row
Const RowEnd As Integer = 200 'set this number to the ending row

For i = RowStart To RowEnd
If (i - 1) Mod 4 1 Then
ActiveSheet.Rows(i).Interior.ColorIndex = 35
Else: ActiveSheet.Rows(i).Interior.ColorIndex = xlNone
End If
Next i

End Sub

Thanks,
JeffH