I'm constructing a series of spreadsheets that will be used as a checklist and setting up conditional formatting so that if a particular item has been checked, a user enters "y" in the next cell over and both the cell containing the checklist item and the cell containing the "y" both turn green.
For example, if column A contains the list items, column B will be blank to enter "y" as items are completed. I'm setting up conditional formatting with the formula: =$B2="y" and selecting to apply this to =$A$2:$B$50
This all works perfectly when I have it set up in the Conditional Formatting Rules Manager window, but as soon as I click ok or apply, Excel ruins all of my formulas. It changes the formula from =$B2="y" to =$B1048576="y". It doesn't stop me from editing the formula and changing the value back to 2, but I'm not sure why it is doing this. I believe it is that same number every time, but honestly I haven't kept track.
As I have to apply this formatting to ~50 workbooks, this is getting super annoying. Anyone know what the cause is or how to make excel stop messing with my formula?
My excel level is probably basic/intermediate
PS. My workplace refuses to upgrade to modern software and we're stuck with office '07. If this is an excel bug I might be able to use that as some leverage to finally get an upgrade, any info would be helpful.
your formula is fine, however change your application method. To make your life easier, delete your current entry as the formula is rather short. if the real formula is complex, consider editing the formula and then copying it to memory before deleting it.
When assigning conditional formatting with a cell reference that is not locked, I select my table or ranges first and then make sure the left most upper cell is the active cell.
I then enter my formula in conditional formatting and hit apply. The cell in the formula will adjust itself based on what the active cell was when it was entered it seems. When I have done this and the active cell was in the bottom right corner of my selection, I would get really screwy (technical term) numbers in my formula after and the conditional formatting would not work as intended.
Related
I have a conditional formatting rule in place that says "If cell Q4 is blank, format the cells so that all cell's fill, borders, shading, etc. are also blank, so that it appears as if there is no content present, and is formatted accordingly. This cleans up the look of the report if content has not been added yet. When Q4 is not blank, the conditional formatting rule is not applied, and there is some significant formatting I have done on that range of cells. See the attached picture for what I hope to be a better explanation of the intended function. All of the cell formatting is not applied (appears as a blank sheet) if the highlighted cell (Q4) is empty.
My issue is, when I scroll down so that the cells that are affected by the conditional formatting are no longer in view, and then scroll back so that they are in view, the conditional formatting keeping the cells with no border, shading, fill, etc. is not retained for some, but not all, of the cells in the desired range. What is even more strange is if I click out of excel (into a browser window for example) and then back into excel, one additional cell no longer has the conditional formatting applied that keeps it blank. If I go into the cell that controls the visibility of the affected cells (Q4) which is already empty, and press delete, the conditional formatting gets applied until I scroll out of view and the process repeats itself. Any suggestions on correcting this excel bug? The data is not formatted as a table, so unchecking banded rows is not applicable, and I have made sure that EnableFormatConditionsCalculation is set to TRUE in the VBA, where were the two solutions that I found online to fix this same issue.
Correctly functioning conditional formatting shown, where because Q4 is not empty, the cell formatting is visible (conditional formatting to make the range of cells appear blank is not applied)
There is some subtle cause for this. Might Q4 have an invisible space character? If it does, you can change the conditional formatting rule to =LEN($Q$4)=0. Also, did you 'anchor' cell $Q$4 within your formatting formula? Did you intend for the blank cell condition to follow your data per row- Q4....Q5...Q6? If so, Q4 should be relative. You do not show your actual conditional formatting formula. It will help greatly to include your formula itself.
Well, I have found something weird and I'm kind of shocked right now.
I have several Excel Files and normally we use tables to store the data (tables I mean ListObjects) and we apply Conditional Formating rules, so when a new row is inserted into the table, the conditional formating rule expands instantly:
If I insert a new row in this table, my conditional formatting rule instantlly applies to new row.
As you can see in the second image, a new row has been inserted and it becomes red instantlt because our conditional formating rules. This works perfect.
Now I have another file with different information, but it's the same idea. Table, data and conditional formating.
Data is just a list of invoices (sorry, but I had to remove the Vat Numbers and Company names for privacy). Column C is a VLOOKUP formula, combined with an IFERROR. It searches the name of the company (company name is in column D) and if something is found, it returns the Vat Number. IF not, it returns value No encontrado. The formula works perfectly.
Now, I have created a conditional formating rule that, if value in column C is No encontrado it highlights in yellow all cells in row. This rule works perfect too. We have used it thousand of times.
Now comes the weird part. If I insert a new row and subtotals row is not active in the table, my conditional formating rule instantlt applies to new row. And that's perfect!
As you can see in the image above, the new row is yellow because the formula can't find anything because company cell is in blank. This is perfect and works good.
Now comes the weird part and I have no idea how to get a solution. If we insert a new row but subtotals row of table is active then, the conditional formating rule does not applies to new row!
As you can see in the image above, last row shows value No encontrado but the conditional formating rule is not applying. So I have to manually update area of application of conditional formating rule.
Let's go back to first file I showed in the first 2 images of this question. If you check the second image, subtotals row is active, but conditional formating rule updates area of application.
So my question is. Why in this second file, my rule of conditional formating is not updating area of application if I insert a new row with subtotals row active?
Things I know are not the problem:
Both files are xlsx, so no macros or VBA are affecting.
Both files have been created with same version of Excel and same PC.
Things I have tried:
Creating the file again starting from zero. It did not solve anything.
Thanks in advance. If you need more information, please, feel free to ask.
UPDATE: Well, I've done some research and discovered something. It looks like Data Validation Lists blocks Conditional Formating autoexpand. In Columnd D (company name), I've created a Data Validation Dropdown List. Users choose the company. This Data validation blocks Conditional Formating from updating area of application. If I disable the data validation in that column, then the CF rule works perfect, even with subtotals row active.
Any idea of how to deal with this bug? I know I can fix it with VBA but I'm trying to find a solution without VBA. I would like the file to be XLSX. Also, In this company they never update software, so solution must work for Excel 2007.
UPDATE #2: My CF rule just checks if in column C appears the value No encontrado. If found, it highlights in yellow all cells in that row of the table:
The formula I'm using is: =IF($C11="No encontrado";TRUE;FALSE)
This CF rule applies to all the table (right now is range =$A$11:$K$609
And the formula in column C is:
=IFERROR(VLOOKUP([PROVEEDOR];T_PROVEEDORES;2;FALSE);"No encontrado"). It searches for value in cell D in another table called T_PROVEEDORES. IF nothing is found, then it returns No encontrado.
In column D is just a Dropdown List with different company names.
Also, in Column D I got a Data Validation Dropdown List of companies.
Thanks in advance.
UPDATE #3: I've uploaded a sample file to my GD. I deleted all privacy information and used generic names.
Download file
In the sample file, worksheet COMPRAS, there is a table. If you insert a new row using TAB key and subtotals row is not active, the new row will be highlighted in yellow, and that's how it should work.
But if you do the same with subtotals row active, then it does now work. CF rule does not update area of application.
Good news and bad news.
Bad news is, this is actually an issue in Excel 2007 that was fixed in later versions.
Good news is there is an answer, just not the cleanest. Make the range of your conditional formatting include the entire worksheet:
The problem is the conditional formatting range doesn't continue to expand with new rows. If the range is set in this fashion, it forces Excel to set your formatting as the range includes all possible rows. My example just shows the yellow row. Repeat what i have done for the other three conditions as well.
I have a perplexing problem with one of my Excel spreadsheets. I have a "task list" spreadsheet, with conditional formatting to highlight items that are near their due date and overdue. One cell in my entire worksheet is not allowing the conditional formatting, and I am not sure why. It does not matter what is in the cell.
I have tried:
deleting the table row
deleting the entire row
re-typing the cell
re-sorting the cells
deleting and re-creating the rule
verifying that the rule is applied to that cell
Any ideas as to what is causing this?
The affected cell is D5. You can download the spreadsheet here: Google Drive download link
Since that's cell D5, instead of ROW()>5 you should use ROW()>=5.
Also "before today" would be <TODAY() . The +1 makes it "before tomorrow".
It's kind of unusual to have a row number in there at all. I assume you did that so you could apply the format to the whole column but if the extra cells are not dates (like, are just titles) then they shouldn't be affected by the conditional formatting.
If it was me, I would clear all the formatting from that column and in D5 add the simple conditional formatting criteria =D5<TODAY(), then copy that cell, click heading D to select the entire column, Ctrl+Alt+V and Paste Formats.
Better yet, only apply the Conditional Formatting to the cells that need it, not the whole column. Conditional Formatting increases the file size and slow down calculation more that one would think. (I was argued that but was proven wrong!)
I'm trying to highlight rows created within the past 7 day period (since the last time checked). The table is tied to an external source that formats the column based on NOW (i.e., m/d/yyyy h:mm). So far, I found that conditional formatting is quite finicky when using functions.
First, I'll give the two formulas, which are working now. These are both based on a TODAY() format (i.e., mm/dd/yyyy)
1. =today()>$g2 --- this highlights past due items
2. =DATEDIF(TODAY(),$G2,"d")<30 --- this highlights items due within the next 30 days.
Now I need to reference another column (M), which is based on the NOW format mentioned above. I want the whole row formatted, so I can't use the built in functionality. I've used variations of the above, interchanging NOW() and TODAY(). Additionally, I cannot seem to get AND() to work in conditional formatting of an entire row. Any assistance would be greatly appreciated.
Select the entire sheet first, as conditional formatting only works on selected cells.
Make sure all rows in your sheet are selected.
On the Home tab, in the Styles group, click the arrow next to Conditional Formatting > New rule.
In the New Formatting Rule dialog box, click "Use a formula to determine which cells to format".
Under Format values where this formula is true, type the formula: =$M1>TODAY() . (example provided as your required formula was not provided).
The formula uses the TODAY function to see if the dates in column M are greater than today (in the future). If so, the cells are formatted.
Click Format.
In the Color box, select your colour. Use other formatting commands as required.
Click OK until the dialog boxes are closed.
The formatting is applied to column M when the condition is met.
I have a spreadsheet that is used to track the last date a set of logs was downloaded.
We need to take logs at around the 7 day mark if possible (not critical)..
We have approximately 170 assets that we do this to.
The way the spreadsheet is set up the new date is added to an ever expanding list (rather than just overwriting) i have used conditional formatting to show that a date is less than 7 days old but that cell can be 20 columns accross and is still hard to cross reference to the asset number. I want to highlight column A if any other cell in the same row is highlighted (unless you have a less clunky way of doing it, having the date highlighted really is unimportant it is simply as far as i can get on my own.
I even tried doing a sort by cell colour but that seems to require that i pick one coulmn only.
Thanks for your help.
Conditional formatting will do this for you. I used this example:Column A has dates, Columns B and C have miscellaneous gibberish. (click the link to view the image)
Select the entire range of cells you want to follow these rules (possibly just "select all" to be sure you are getting future additions as well, then choose Conditional Formatting from the ribbon.
Conditional Formatting > Use a formula to determine...
Then enter the following code. =TODAY()-$A2<7 Update $A2 with whatever cell contains your first date value, and be sure to put a $ in front of its column reference so that the formula references only your date column and doesn't wander.Code: =TODAY()-$A2<7
Click the "Format" button to set whatever format you like (I chose yellow fill).