Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default conditional formatting w/ check for beginning odd or even

Greeting Excel programmers. I have a simple question.

I have two macros that i use to add a conditional format to highlight
every other row for the cells that are selected. One macro gives the
EVEN rows (e.g. 2,4,6) a blue background and ODD (e.g. 1,3,5) rows a
white background. The other does the opposite: ODD rows blue, EVEN rows
odd. (The only thing different about them is the '=' vs the '' in the
conditional formatting function.)

What i would like is a macro that will check to see if the FIRST row in
the selection is odd, and if it is, apply the EvenRowsBlue macro. If it
is even, apply the OddRowsBlue macro.

These are the two macros i have now, but if there is a different/better
way without them, i am up for that.

Sub OddRowsBlue()
'
' Created by barberboy, 18-12-05

With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)0"
.FormatConditions(1).Interior.ColorIndex = 34
.Interior.ColorIndex = 2
End With
End Sub

Sub EvenRowsBlue()
'
' Created by barberboy, 18-12-05

With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)=0"
.FormatConditions(1).Interior.ColorIndex = 34
.Interior.ColorIndex = 2
End With
End Sub

Thanks in advance!!

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default conditional formatting w/ check for beginning odd or even

Sub WhatYouAskedfor()
If Selection(1).Row Mod 2 = 1 Then
'first row is odd
EvenRowBlue
Else
' first row is even
OddRowsBlue
End If
End Sub

A possible alternative:

Sub abcEven()
Dim even As Long, odd As Long
If Selection(1).Row Mod 2 = 1 Then
odd = 34
even = 2
Else
odd = 2
even = 34
End If
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)0"
.FormatConditions(1).Interior.ColorIndex = even
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)=0"
.FormatConditions(2).Interior.ColorIndex = odd
End With
End Sub

--
Regards,
Tom Ogilvy

wrote in message
oups.com...
Greeting Excel programmers. I have a simple question.

I have two macros that i use to add a conditional format to highlight
every other row for the cells that are selected. One macro gives the
EVEN rows (e.g. 2,4,6) a blue background and ODD (e.g. 1,3,5) rows a
white background. The other does the opposite: ODD rows blue, EVEN rows
odd. (The only thing different about them is the '=' vs the '' in the
conditional formatting function.)

What i would like is a macro that will check to see if the FIRST row in
the selection is odd, and if it is, apply the EvenRowsBlue macro. If it
is even, apply the OddRowsBlue macro.

These are the two macros i have now, but if there is a different/better
way without them, i am up for that.

Sub OddRowsBlue()
'
' Created by barberboy, 18-12-05

With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)0"
.FormatConditions(1).Interior.ColorIndex = 34
.Interior.ColorIndex = 2
End With
End Sub

Sub EvenRowsBlue()
'
' Created by barberboy, 18-12-05

With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)=0"
.FormatConditions(1).Interior.ColorIndex = 34
.Interior.ColorIndex = 2
End With
End Sub

Thanks in advance!!



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default conditional formatting w/ check for beginning odd or even

Thanks Tom and Excelibur. Both abcEven and RowsBlue do EXACTLY what i
am needing. You guys are great!!

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5
Default conditional formatting w/ check for beginning odd or even

Final Macro:

Sub BlueRows()
With Selection
.FormatConditions.Delete
If Selection.Cells(1, 1).Row Mod 2 = 0 Then
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)0"
Else
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)=0"
End If
.FormatConditions(1).Interior.ColorIndex = 34
.Interior.ColorIndex = 2
End With
End Sub

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Conditional Formatting on cells beginning with a hyphen Greg Lovern Excel Discussion (Misc queries) 3 November 16th 09 02:49 PM
Conditional Formatting to Check for Blanks Daren Excel Worksheet Functions 5 October 15th 08 11:14 PM
how to check for ANY text when conditional formatting? Heather Excel Discussion (Misc queries) 4 September 19th 07 08:10 PM
Check box & conditional formatting Brent Excel Discussion (Misc queries) 4 January 10th 06 05:43 AM
Check Boxes and Conditional Formatting Steve[_71_] Excel Programming 2 November 29th 04 07:30 PM


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

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"