ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Spreadsheet formatting (https://www.excelbanter.com/excel-discussion-misc-queries/131426-spreadsheet-formatting.html)

Philip Drury

Spreadsheet formatting
 
I have a spreadsheet that has been built for our Customer Service unit to
record enquiries - they asked for the spreadsheet to change the row column
depending on how old the enquiry had got before it was completed. For this I
have used the following conditional formatting:

Condition 1
=AND($A4<=TODAY(),$A4TODAY()-5)
Condition 2
=AND($A4<=TODAY(),$A4TODAY()-7)
Condition 3
=AND($A4<=TODAY(),$A4<" ")

What they also want is that the row turns grey once they input a completion
date - this is done with the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("H:H"), Target) Is Nothing Then
Exit Sub
End If
If IsEmpty(Target.Value) Then
Exit Sub
End If
Target.EntireRow.ClearFormats
Target.EntireRow.Interior.ColorIndex = 15
End Sub

However, and this is where I need some help, the code that turns the
completed rows grey also knocks out the cell formatting i.e. cell alignment
and the fact that some cells are formatted specifically as dates - is there
any way to restrict the change to just the conditional formatting?

Also, any idea why (or how to stop the fact that) the empty rows sit on the
spread sheet coloured red?

If you can help me with htis - you're a star!


joel

Spreadsheet formatting
 
I would just eliminate this one statement.
Target.EntireRow.ClearFormats


this routine should only change the color and nothing else

You also may want to change the patttern
Target.EntireRow.Interior.Pattern = xlSolid


"Philip Drury" wrote:

I have a spreadsheet that has been built for our Customer Service unit to
record enquiries - they asked for the spreadsheet to change the row column
depending on how old the enquiry had got before it was completed. For this I
have used the following conditional formatting:

Condition 1
=AND($A4<=TODAY(),$A4TODAY()-5)
Condition 2
=AND($A4<=TODAY(),$A4TODAY()-7)
Condition 3
=AND($A4<=TODAY(),$A4<" ")

What they also want is that the row turns grey once they input a completion
date - this is done with the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("H:H"), Target) Is Nothing Then
Exit Sub
End If
If IsEmpty(Target.Value) Then
Exit Sub
End If
Target.EntireRow.ClearFormats
Target.EntireRow.Interior.ColorIndex = 15
End Sub

However, and this is where I need some help, the code that turns the
completed rows grey also knocks out the cell formatting i.e. cell alignment
and the fact that some cells are formatted specifically as dates - is there
any way to restrict the change to just the conditional formatting?

Also, any idea why (or how to stop the fact that) the empty rows sit on the
spread sheet coloured red?

If you can help me with htis - you're a star!


Philip Drury

Spreadsheet formatting
 
Trouble is that if I remove that line the Conditional Formatting over-rides
the code so the line stays the 'traffic signal' colours

"Joel" wrote:

I would just eliminate this one statement.
Target.EntireRow.ClearFormats


this routine should only change the color and nothing else

You also may want to change the patttern
Target.EntireRow.Interior.Pattern = xlSolid


"Philip Drury" wrote:

I have a spreadsheet that has been built for our Customer Service unit to
record enquiries - they asked for the spreadsheet to change the row column
depending on how old the enquiry had got before it was completed. For this I
have used the following conditional formatting:

Condition 1
=AND($A4<=TODAY(),$A4TODAY()-5)
Condition 2
=AND($A4<=TODAY(),$A4TODAY()-7)
Condition 3
=AND($A4<=TODAY(),$A4<" ")

What they also want is that the row turns grey once they input a completion
date - this is done with the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("H:H"), Target) Is Nothing Then
Exit Sub
End If
If IsEmpty(Target.Value) Then
Exit Sub
End If
Target.EntireRow.ClearFormats
Target.EntireRow.Interior.ColorIndex = 15
End Sub

However, and this is where I need some help, the code that turns the
completed rows grey also knocks out the cell formatting i.e. cell alignment
and the fact that some cells are formatted specifically as dates - is there
any way to restrict the change to just the conditional formatting?

Also, any idea why (or how to stop the fact that) the empty rows sit on the
spread sheet coloured red?

If you can help me with htis - you're a star!


Dave Peterson

Spreadsheet formatting
 
So just remove the conditional formatting:
target.entirerow.FormatConditions.Delete





Philip Drury wrote:

Trouble is that if I remove that line the Conditional Formatting over-rides
the code so the line stays the 'traffic signal' colours

"Joel" wrote:

I would just eliminate this one statement.
Target.EntireRow.ClearFormats


this routine should only change the color and nothing else

You also may want to change the patttern
Target.EntireRow.Interior.Pattern = xlSolid


"Philip Drury" wrote:

I have a spreadsheet that has been built for our Customer Service unit to
record enquiries - they asked for the spreadsheet to change the row column
depending on how old the enquiry had got before it was completed. For this I
have used the following conditional formatting:

Condition 1
=AND($A4<=TODAY(),$A4TODAY()-5)
Condition 2
=AND($A4<=TODAY(),$A4TODAY()-7)
Condition 3
=AND($A4<=TODAY(),$A4<" ")

What they also want is that the row turns grey once they input a completion
date - this is done with the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("H:H"), Target) Is Nothing Then
Exit Sub
End If
If IsEmpty(Target.Value) Then
Exit Sub
End If
Target.EntireRow.ClearFormats
Target.EntireRow.Interior.ColorIndex = 15
End Sub

However, and this is where I need some help, the code that turns the
completed rows grey also knocks out the cell formatting i.e. cell alignment
and the fact that some cells are formatted specifically as dates - is there
any way to restrict the change to just the conditional formatting?

Also, any idea why (or how to stop the fact that) the empty rows sit on the
spread sheet coloured red?

If you can help me with htis - you're a star!


--

Dave Peterson

Philip Drury

Spreadsheet formatting
 
That's great - works perfectly.

Do you know why the 'empty' rows show red until they have data input, is
there a problem with the conditional formatting that I have missed?

"Dave Peterson" wrote:

So just remove the conditional formatting:
target.entirerow.FormatConditions.Delete





Philip Drury wrote:

Trouble is that if I remove that line the Conditional Formatting over-rides
the code so the line stays the 'traffic signal' colours

"Joel" wrote:

I would just eliminate this one statement.
Target.EntireRow.ClearFormats

this routine should only change the color and nothing else

You also may want to change the patttern
Target.EntireRow.Interior.Pattern = xlSolid


"Philip Drury" wrote:

I have a spreadsheet that has been built for our Customer Service unit to
record enquiries - they asked for the spreadsheet to change the row column
depending on how old the enquiry had got before it was completed. For this I
have used the following conditional formatting:

Condition 1
=AND($A4<=TODAY(),$A4TODAY()-5)
Condition 2
=AND($A4<=TODAY(),$A4TODAY()-7)
Condition 3
=AND($A4<=TODAY(),$A4<" ")

What they also want is that the row turns grey once they input a completion
date - this is done with the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("H:H"), Target) Is Nothing Then
Exit Sub
End If
If IsEmpty(Target.Value) Then
Exit Sub
End If
Target.EntireRow.ClearFormats
Target.EntireRow.Interior.ColorIndex = 15
End Sub

However, and this is where I need some help, the code that turns the
completed rows grey also knocks out the cell formatting i.e. cell alignment
and the fact that some cells are formatted specifically as dates - is there
any way to restrict the change to just the conditional formatting?

Also, any idea why (or how to stop the fact that) the empty rows sit on the
spread sheet coloured red?

If you can help me with htis - you're a star!


--

Dave Peterson


joel

Spreadsheet formatting
 
You can find all the conditional format by doint the following
1) On the Edit menu select go to
2) Press Special
3) Select Conditional formating

"Philip Drury" wrote:

Trouble is that if I remove that line the Conditional Formatting over-rides
the code so the line stays the 'traffic signal' colours

"Joel" wrote:

I would just eliminate this one statement.
Target.EntireRow.ClearFormats


this routine should only change the color and nothing else

You also may want to change the patttern
Target.EntireRow.Interior.Pattern = xlSolid


"Philip Drury" wrote:

I have a spreadsheet that has been built for our Customer Service unit to
record enquiries - they asked for the spreadsheet to change the row column
depending on how old the enquiry had got before it was completed. For this I
have used the following conditional formatting:

Condition 1
=AND($A4<=TODAY(),$A4TODAY()-5)
Condition 2
=AND($A4<=TODAY(),$A4TODAY()-7)
Condition 3
=AND($A4<=TODAY(),$A4<" ")

What they also want is that the row turns grey once they input a completion
date - this is done with the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("H:H"), Target) Is Nothing Then
Exit Sub
End If
If IsEmpty(Target.Value) Then
Exit Sub
End If
Target.EntireRow.ClearFormats
Target.EntireRow.Interior.ColorIndex = 15
End Sub

However, and this is where I need some help, the code that turns the
completed rows grey also knocks out the cell formatting i.e. cell alignment
and the fact that some cells are formatted specifically as dates - is there
any way to restrict the change to just the conditional formatting?

Also, any idea why (or how to stop the fact that) the empty rows sit on the
spread sheet coloured red?

If you can help me with htis - you're a star!


Dave Peterson

Spreadsheet formatting
 
When you selected the cell and did format|conditional formatting, was there
anything left hanging around?

Philip Drury wrote:

That's great - works perfectly.

Do you know why the 'empty' rows show red until they have data input, is
there a problem with the conditional formatting that I have missed?

"Dave Peterson" wrote:

So just remove the conditional formatting:
target.entirerow.FormatConditions.Delete





Philip Drury wrote:

Trouble is that if I remove that line the Conditional Formatting over-rides
the code so the line stays the 'traffic signal' colours

"Joel" wrote:

I would just eliminate this one statement.
Target.EntireRow.ClearFormats

this routine should only change the color and nothing else

You also may want to change the patttern
Target.EntireRow.Interior.Pattern = xlSolid


"Philip Drury" wrote:

I have a spreadsheet that has been built for our Customer Service unit to
record enquiries - they asked for the spreadsheet to change the row column
depending on how old the enquiry had got before it was completed. For this I
have used the following conditional formatting:

Condition 1
=AND($A4<=TODAY(),$A4TODAY()-5)
Condition 2
=AND($A4<=TODAY(),$A4TODAY()-7)
Condition 3
=AND($A4<=TODAY(),$A4<" ")

What they also want is that the row turns grey once they input a completion
date - this is done with the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("H:H"), Target) Is Nothing Then
Exit Sub
End If
If IsEmpty(Target.Value) Then
Exit Sub
End If
Target.EntireRow.ClearFormats
Target.EntireRow.Interior.ColorIndex = 15
End Sub

However, and this is where I need some help, the code that turns the
completed rows grey also knocks out the cell formatting i.e. cell alignment
and the fact that some cells are formatted specifically as dates - is there
any way to restrict the change to just the conditional formatting?

Also, any idea why (or how to stop the fact that) the empty rows sit on the
spread sheet coloured red?

If you can help me with htis - you're a star!


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 03:51 PM.

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