VBA To Apply Conditional Formating To A Range Of Cells
Aug 22, 2006
I have used VBA to apply conditional formating to a range of cells. i.e if cell B14 <>"" then row 14 is pale blue untill cell V14 is populated with the time then it removes the formating. One criteria is that if Q14(21/08/06 20:00)>NOW(AA2) and < NOW+1(AA3) then Row turns green(i.e. is due in the next 24 hrs).
Problem is that this formula is applied after a field is updated. When 21/08/06 20:00 comes and goes the row remains green unless I update one of the fields along that row. What would I have to do to make the formating change back automatically when the critera is no longer being met. Here is my codethere are 2 other if statements similar to this with in this code but this is the only part that shouldn't require any user input for the formatting to occour)
Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = "B13:AP162"
On Error Goto ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
If Me.Cells(.Row, "AP").Value = "YES" And _
Me.Cells(.Row, "Y").Value <> "" Then
Me.Cells(.Row, "B").Resize(, 30).Interior.ColorIndex = 43 'mad green
Else
End If
End With..................
i have a list of customers with various information, i would like to rank these customers 1 to 5 and change the colour of the cells dependant on there rank.
Conditional formatting allows me too do this but is limited to 3 formats.
I have Columns A-K filled with data and want the condition to be set on column B if Column B meets a requirement it will then colour that Row (A-K)
So for example Row 3:
B3 = the requirement to change colour to red so cells A3:K3 will turn red B4 = the requirement to change colour to gree so cells A4:K4 will turn red
and this must go down to row 1000 or whatever it may be.
I have been using Conditional Formating to change the backgound color of the cells, this works fine. However it cannot be used with a userform text box. There I believe that the use of If Then Else statements will sort out the problem.
I have developed three conditions:
1) D10 less than E5 result True 2) D10 less than F5 result True 3) D10>E5 result False
using that result background color to turn green
Next condition 1) D10 less than E5 result False 2) D10 less than F5 result True 3) D10>E5 result True using that result background color to turn yellow
Next condition 1) D10 less than E5 result False 2) D10 less than F5 result False 3) D10>E5 result False using that result background color to turn red
What I cant seem to do is combine the three instances above so that the cell back color changes.
This is so easily done using the built in conditional format function but I'm have a difficulty understanding how to make this work.
I have created a drop down box that allows me to choose multiple different Text Options. Example: Cell B4 has dropdown that lets me choose the Text Options, "House", "Car" and "Truck".
Next, I have 5 or so other columns underneath with their own text. What I want to do is have different cells highlight themselves depending on what is in Cell B4.
Example, if "House" is selected in B4, I want cells B7 and B9 to highlight. If "Car" is selected, I want cells B7, B8, and B10 to highlight. If "Truck" is highlighted, I want cells B9-B11 to highlight. Is this possible to do? I've tried using If/Then statements, but those don't seem to work for this type of thing.
I'm trying to get it so that a cell becomes automatically highlighted if 2 other cells conditions are met. For example, I want cell A5 to become highlighted if BOTH cell B1=Loan 1 AND cell B5=Yes. Here is a mockup of what I'm talking about incase it makes it easier to understand. I'm using Excel 2007.
I recorded a macro in which I applied a conditional format to a range (the selection).But, when i replay this macro, the conditional format is only applied to the first cell in the range. This can be seen in the "Manage Rules" dialog of Conditional formatting, where the "applies to" column shows only one cell, even though a range of cells was selected by the code.
I set a breakpoint at the first line of code here, and confirmed that the selection is correct, and indeed it is, as in the immediate window, ?Selection.Address correctly gives "$O$6:$O$21".
why the conditional format ends up only applied to cell O6 after the code runs?
"How can i apply a conditional format to a range of multiple cells, based on an expression, using VBA?"
Note that my range is within a PivotTable (but still, this works fine in the UI when i record the macro and the conditional format is correctly applied to the entire selected range).
I need to run a loop through a column of values (attachment col B) and when it finds a "J" it will apply conditional formatting to a row of 4 cells directly adjacent. The attachment is a theoretical before & after.
I was wondering if is possible to apply a conditional format rule to a range of cells only when certain other cells outside of the range are the active cells. eg row C4-J4 has a conditional format to identify duplicates from range C5-C10, but I also want the same conditional rule to apply separately and uniquely if the active cell falls within the next active range D5-D10. So basically only apply conditional formatting separately and uniquely as the active cell moves its way across the columns?
Column b in sample is conditionally formatted based on it's values. I want to also apply that same formatting to the person's name in the chart in D2:I9. For example, Jeff is in bottom 50% so cell B2 is shaded red with red text. I would like to apply that same red shade and red text to all the cells in my chart that say Jeff. Also, as example, all of the cells in my chart that say Kelsey would be formatted with green shade/green text and so on...
I am having trouble getting some conditional formatting to apply to all cells in a column in a pivot table. Currently, the conditional formatting is only applying to the top level items in the pivot but is not applying to the lower level items. I can see why it is doing this. the range in "Applies to" is only specifying the rows that contain the top level items. I tried to change the range to D10:D647 but, it reverts back to just the top level items. How to get it to apply to everything?
How do I change this formula to represent a range? I want cells C2:C18, but I ran out of arguments - can't add any more. If DRC or Production shows in the column, I want the word "Outstanding" if not, I want the word "Completed" .....
Not sure what I'm doing wrong here but I think my syntax is wrong, here is the
Sub CalculatSG() Dim FinalRow As Integer FinalRow = Range("C" & Rows.Count).End(xlUp).Row Range("BU5") = "=(BT5/100)*AE52" Range("BU5").Copy Range("BU5:BU[" & FinalRow & "]").Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
My objective is to apply the same calculation to the range of cells; the range may change which is why I have defined FinalRow and passed this as a refernence.
I have an excel document that has one columb (I) of cells that changes color depending on a specific date (columb h) . The cells that have conditional formating to change the row color based on where it is ( =MOD(ROW(),2)=1), stays blank and the proper color until columb A is filled in. The others show up red. How would I code/format the lines that aren't included in the conditional formating to always show white when no value is entered in columb a.
how to use the conditional format tool, but now the company i designed the spreadsheet for, wants me to implement a change. I'm attacking a copy of the spreadsheet so you can see the problem more easily. Now what I've been asked todo is the following.
1. When the stock quantity (Column H) goes below the re-order level (Column K), they want the entire row to change font colour from blue to red. Now I know how i can change the colour of one cell, like ive done in the example, but I'm not sure how to change the entire row colour. If this can be done with conditioning formating then great, but if not then i'm stuck, and relying on your generosity in helping me out.
i have 2 columns the first is the transaction number and second column is the description
i want to make that all even transaction number will highlight the whole row... how do i make that with conditional formatting? or are there other alternatives?
I have a large X-Y-axis table with about 200 entries in it. There are 6 different entries possible. I now want to give each possible entry in this table a color for making it easier to read.
I could write a formula in conditional formating, so that it works for 3 colors. The problem is now that i can make this only for 3 different colors in conditional formating of excel. Is there a possibility for making this for 6 colors?
I want to set up formula in conditional formating so that when:
$AF6 = "CA" the color is red or if $AF6 = ("GA","ME","PR") then the color is blue
what I came up with is Condition 1 = ($AF6 ="ca") [which will turn the cell red] Condition 2 ="OR($AF6={""GA"",""ME"",""PR""}, "")" [which doesn't do anything]
Asks almost exactly the question I have, but I can't make heads or tails out of the answers, I'm guessing becasue I have Excel 2003 and not 2007 as mentioned in the replies.
In column "A" I have a number; column "B" the formula =A1 copied on down and in column "C" either a 1 or 2 or a 3.
If the number in column "C" is a 1 then the font in the same cell in Column "B" should be black, 2 Blue and 3 Red.
I'm thinking this should be very simple, but so far it's not turning out that way. )-:
if its possible to run conditional formating on graphs, I can do this fine on the actual data
i.e. Have a bar chart with a number of bars all the same colour and just wanted to have the bars change to red if they drop below a certain percentage.
I am working on code breaking, and am working on trying multiple letter combinations, and was wondering if I could spell check the results and have that identify letter combinations that ARE words.
I am having many difficulties getting conditional formatting using the match function to work correctly in my excel document.
What I would like to accomplish is as follows in the 3Q09 tab. If a subdivision name is found in C-62 through C-70 and a match is found for the subdivision name in AB-24 to AB-66 I would like it so the AB-24 to AB-66 Subdivision name is bolded for every match. I removed the function formulas from the 3q09 tab I used to have since they didnt work and I do not want to confuse anyone.
This is correctly done on the "Working Correctly" Tab included in the same file, so please view this for clarification if you need it. Why it works on one tab and not the other simply baffles me.
I looked around the forum for a answer but none are quite the same. AA2 contains a date. AN2 contains a Pass or Fail based on =IF(AH4<60,"FAIL",IF(AJ4<60,"FAIL",IF(AL4<60,"FAIL","PASS"))).
Now even if those above fields are empty and no date is in AA2 "PASS" still shows up in AN2. I used =$AA$5="" to make AN2 turn white if AA2 had no date in it. I am unable to copy the formatting along the rest of the AN column without it all refering to just AA2. Is there a way to make it copy and correct the formating like it does with formulas? I had planned to due the same thing with the AO column that contains "DUE" if the person has not taken a test in 180 days. =IF(AA2<=(TODAY()-180),"DUE",IF(AA2<=(TODAY()-150),"CLOSE",IF(AN2="FAIL","RETEST","")))