Subtotal Two Levels Based On Color Change Or Indent
Jun 25, 2008
I need advice regarding the best way to subtotal data that has been exported from SQL Reporting Services to Excel. Formulas are not exported with the worksheet and need to be re-entered. The data is contained in three levels, but second level is not always present (see attached). The Level 1 data has a "pale blue" background and desciptions start in column A. Level 2 data has a "Gray-25%" background and starts in Column B. Detail level data has no fill color and descriptions for it start in Column C. The detailed data should be subtotaled in the Level 2 line directly above it (if available). The Level 2 data should be subtotaled in the Level 1 row directly above it. If no Level 2 row exists beneath a Level 1 row then all of the detail rows below should be subtotaled in the Level 1 row.
I have looked at options for keying on the color or the column contents for triggering when to calculate the subtotals, but nothing that I have tried works. The attached sample file illustrates how the data looks after being exported from Excel. The number of detail rows may change at any time as new projects are added.
I had an idea that I could use the level of indent in the first column to provide the name for the range. The easiest way to explain is with the example spreadsheet I have attached
Cells C5:C10 show how the naming convention should look like, basically Indent Level 0 returns a prefix (Sheet_Name_Prefix) and its corresponding row entry in Column A. Level 1 should return the last Level 0 name and its corresponding row entry in Column A.
I had a go at the code and it works for Level 0 but I can't get it to put to Level 1.
Sub Test()
'Dimension Variables Dim RowTitleEntries As Integer Dim NameLoop As Integer Dim IndentLevel As Integer
'Set the value of RowTitleEntries RowTitleEntries = 6
I have two columns. The first one (A) contains cells that have different Fill colors. The second column (B) contains text adjacent to the colored cells. I am trying to change the color of the text in the second column (B) to the corresponding color in the adjacent cell in the first column (A). I don't think conditional formating works well in this situation. I believe the solution would be some sort of macro.
I have various row cells in column (F) filled with the color Green. And corresponding text in Column G. How can I change the text of that particular row to white.
i.e.: if any cell in column F is Green, change the text color of that row in Column G to white?
I am trying to do some automatic formatting of a list of data to create an indented BOM structure in a similar way to DDiddy's post "Indent Data Based On Adjacent Symbol" (Indent Data Based On Adjacent Symbol.)
But want to set the IndentLevel for Column B by values in Column A. I.e. a value of 1 in Cell A1 indents Cell B1 by 1.
Username shg posted some code that he suggests should do this, but I failed to get it to work. Can anyone explain shg's code or suggest an alternative that would work, preferably automatically upon entering a value in Column A?
I'm only just starting to learn Excel macro's, so please forgive me if this post is in any way unclear.
I am trying to do some automatic formating of a list of data. I can accomplish 90% of what I would like to do via a simple keystroke record macro. What I cannot do is shift the contents of Column B based on the contents of Column A. Column B will have to be shifted to the right 1, 2, 3 . . . cells. Below is an example. Column A symbols as it relates to number of cells to shift Column B
and its works, but when I change the color via conditional formatting, the value is not update, I have to go to the cell, press F2 and hit enter to get the value updated, I mean, I need to do a kind of refresh to get the value of the conditinal format.
I'm putting the sum of 3 cells in a 4th cell(D2). If the sum is greater, I would like the sum to be the color green. If the sum is less, I would like the sum to be the color red. Is this possible?
(D2) has change value, I want to compare the new value against the existing one.
I'm trying to set up a spreadsheet to track 20 vehicles mileage, and when they are due for an oil change. I have the value of when they are next due in column D, and the actual mileage in column G. I want to have the row for each vehicle turn yellow when they are within 1,000 miles of needing an oil change, and red when they are due/overdue.
I have been trying to figure out how to change the color of a specific tab based on information being entered in cell "B9" for each sheet that the tabs represent. If there is information in cell B9 on "tab 1", I want only tab 1 to change a color. If there is no information entered in cell B9 of tab 2, then I want tab 2 to stay with its default color.
There are 34 tabs I want this to happen to, out of just more than 60 total tabs on the worksheet.
I'm trying to change the tab color based on a cell value. This I can do, but only using a Change Event with code in the Worksheet section. I would like it to update more instantly and without the need for a Change on the sheet to occur. So I was thinking a Worksheet_Activate event, or perhaps a Workbook_Activate event, but i can't get it to work.
For further info, if not confusing, the cell referenced in code below (on the Dan sheet) is filled using a user entered variable when the workbook is opened. Depending on this value, i would like the tabs to update their color accordingly and instantly, as well as the color updating if the cell B3 on the sheet is changed. Perhaps I need a Worksheet Activate & Deactivate and Workbook Activate and Deactivate?
Public sPeriod As Long Private Sub Worksheet_Change(ByVal Target As Range) sPeriod = Worksheets("Dan").Cells(2, 4).Value If Target.Count > 1 Then Exit Sub If Target.Address(False, False) = "B3" Then Select Case UCase(Target.Value) Case sPeriod - 1: ActiveSheet.Tab.Color = RGB(0, 0, 255) Case Else: ActiveSheet.Tab.Color = RGB(255, 0, 0) End Select End If End Sub
How do I change the color of a row, based on the users selection from a drop down box in that row? I have four driving types in my drop down , Towing - Town Driving - All highway - Mixed. I would like each driving type, if selected, to change the color of the entire Row of Data to a different color. I have been able to use conditional formating to change the drop down cell itself, but that is it.
In Column D I already have a listbox on every line. If the user selects "waiting payment" then the whole row needs to be highlighted red. If the user selects "arrived" then the the whole row should be green. The dropdowns are already there, but I cant get the colors to change. I have heard that conditional formatting may allow me do do this, but I'm not sure how to go about doing it.
When the sum of B7-D7 is less than cell (I7) I would like to change the shade of B7-D7 to orange to indicate that larger values need to be entered to equal the value of cell I7. And when the sum of these three cells does equal I7 their color should change to green. I recorded two macros to change the colors and I've run them to verify they work. But I've got something off in my simple macro below.
I'm using some basic code below in an on Workbook Open event to format cells with a value less then 2 and less than 1 with a particular color.
The code works, but it really slows my worksheet down when opening. Is there better way to write this?
Code:
Dim myRange As Range Dim cell As Range Set myRange = Range("V6:V50000") For Each cell In myRange If cell.Value < 2 Then cell.Font.ColorIndex = 5 If cell.Value < 1 Then cell.Font.ColorIndex = 3 Next
I have a large spring-selection table, which is populated with things like "4.88 x 635" and "5.26 x 584". There are 1520 fields in the table populated with any combination of the 432 springs available for selection. The spreadsheet takes my criteria, finds out which springs it's allowed to choose from, and populates the table. It could be 20 springs, could be 30. I'm trying to get the number down to 10. The table updates when I change the criteria.
What I'm after at this point is a macro which will color-code the table based on the cell contents, so that all the "4.88 x 635" have one color and all the "5.26 x 584" have another colour. Doesn't have to be any particular colour, just so long as it's a bit different to the cells around it. how the table reacts.
The biggest spring size is "6.93 x 1727", which could be converted to a color reference, perhaps by adding up all the digits, or taking out the non-digits and dividing by 123781, I don't know I'm thinking out loud. And then just assign the cell color to that number.
Where to start a macro like this. Obviously it would use ActiveCell.Interior.ColorIndex but I can't find anything like this on the web.
We have a assigned date, a due date and a date resolved. what I would like to do is any time the date resolved is past the due date change date resolved background to Red. I was playing around with conditioning formatting but can not seem to get this right....
I have cells in range L12:BN1000 with formulas that will output a 1 or a 2.
If the output is 1, I would like the cell to color yellow if the output is 2, I would like the cell to color orange
the reason I dont want to use conditional formatting is because the use needs to be able to copy and insert rows and by doing so the use would need to manually add the new cells into the conditional format range. I would like to come up with a macro that applies this condition to a large range.
also, were do I add this macro? under sheet1? this workbook? or as a module?
Can I change the color of a cell based on my deviation from the number based above it? I am making a golf spreadsheet to base my performance off of, and I was wondering if I could make the cell change color based on my performance on the hole (different color for how many strokes above or under par). If anyone has any idea on this issue, please let me know.
If I use Conditional Formatting I can only use 3 colors, I'd like to use 8 or 9. Is there another way to do this without using the Conditional Formatting?
I have a horizontal graphic chart showing Intel and AMD processors speeds. I was wondering if it is possible to tell Excel to apply a color to Intel processors bar and another to AMD ones?
I'm trying to get the font to turn red in column G if it is greater than or equal to column I, and get it to turn orange if it is between 80% of I and I. This is what I've got so far.
Sub Worksheet_SelectionChange(ByVal Target As Range) If Range("G" & Target.Row) >= Range("I" & Target.Row) Then Range("G" & Target.Row).Font.ColorIndex = 3 If Range("G" & Target.Row) >= Range(("I" & Target.Row) * 0.8) Then Range("G" & Target.Row).Font.Color = 45 End Sub
In an excell worksheet I need to change the color of a cell within a column based on the date entered. For example, if the date in the cell is 60 days from today's date then the cell should be green, if the date in the cell is 90 days from today's then the cell should be blue, if the date in the cell is 120 days from today's date then the cell should be yello.
I am looking to change to color of an entire row based on the value of a single column in that row....Say I have an issue on a line and the "priority column is set to high" I would like that entire row to turn red....
I want to change the fill color of all cells on my sheet, based on the value of one specific cell. In my sheet, I am using cell F1 as the trigger for the change. If the word Blue is in the cell, I want the background color of all cells to be Blue. Likewise for Red and Yellow as well. I don't believe conditional formatting can get this done, as all but the one cell (for this) will be empty.
I want to change the color of a cell's background based on valid data in the cell. I have a pull-down list, it uses a named list, and this all works fine. I want the cell to be red, and then after the user selects a valid entry from the pull-down list, I want to change the cell to yellow.
I have a dynamic drop down list using OFFSET and want to change a selection of cell colors based on the drop down selection. My drop down list is located in cell G4 and the cells I want to change are
I want the order size to be colored red. If the most recent order is larger than the previous order, I want the order size to be colored blue. If the most recent order is the exact same size as the previous order, I want the order to be colored black.
How would I make code that would let me "remember" the previous order size and the most recent order size, and let me compare them to conditionally format the font?