i am getting is it only formats H11:AE12 & H14:AE15, It does not format the first range or any others. Am i doing something wrong? I recorded the first one H8:AE9 then just added the ranges for the others, have i missed something?
if it is possible to format a specified range of cells if one cell has a certain value. For example: If anywhere in column A the word cash appears I want to format 4 rows down from "cash" and 6 rows over from "cash" say green and put borders around it.
I have two columns where there are dates (e.g. 11/05/2009) in a date format; I would like to change the format to `general`; but without losing the original values, i.e. I still want to see 11/05/2009, but just in `general`format. Is it possible to create a macro that will do that? I want these values to stay in the same place, i.e. if it is in cell K10, I still want to have it there - just in other format.
I have tried to write code to format numbers to zero decimal places as well as to justify the format as the zeroes appears as 00000000 when imported.
I need the macro to do this on the first 7 sheets.
I also need ------- lines and ) to be cleared on the first 7 sheets.
I have attached sample data and my code below
Code: Sub Format_Data() Dim Cnt As Long, i As Long Cnt = Sheets.Count Application.DisplayAlerts = False For i = Cnt To 7 Range("F:H").Select With Sheets(i)
Need a code using application.inputbox to get a range, then use that range to copy and paste the range's link and format to a different sheet? The specifics don't matter, I just can't figure out the syntax. Here is what I have currently:
how to interrupt VBA code, allow user modifications to a chart, and then continue the code where it left off with a click of a button. I currently have the code in place where a UserForm pops up at a specific point and tells the user to make adjustments and press OK when done. It works fine but the UserForm displays and the macro resumes when OK is clicked, but I can't figure out how to activate the chart or the spreadsheet to allow editing while that UserForm is on the screen. If only I can get excel to allow me to sleect the spreadsheet and make changes while the UserForm is on the screen, I would be set. Can anyone please help me with any options to allow editing while the UserForm is on the screen so I can edit and then click the OK when done?
I posted something similar to this over two years ago. The way I got around it at the time was to break the code into two separate subs. This time around, the code is making 17 graphs and I want to ask for editing for each one before continuing. That would be a lot of individual sections of code.
I have a value that the user is suppose to type in the range(A3). The format is as follow: 20091227-I1 (yyyymd-Letter and No.) The letters are I and EK and after the letter a # from 1-10. I want to create a macro, which reads the Range(A3). If the format is incorrect, then a MsgBox would display "Typing error. Please type the year, month, date, dash, letter (I or EK) and number." I don't have a problem creating the message box. My problem is validating the Range(A3) with the specified format.
I'm trying to highlight a named dynamic range with background colour yellow - basically moving the yellow section of spreadsheet as the dynamic range changes.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim oldrang As Range Range(oldrang).Interior.ColorIndex = Null Range("named").Interior.ColorIndex = 6 End Sub
There are about five variables which, when entered, should format the row their on. For example, if I select "Waiting List" from a dropdown in column A, the row is formatted to have a blue fill.
I'm currently using this code:
VB: Sub waiting() Dim sh As Worksheet Set sh = Sheets("Applications") sh.Range("A1:X1").AutoFilter Field:=2, Criteria1:="Waiting List" sh.Range("A2:X2" & sh.Cells(sh.Rows.Count, 1).End(xlUp).Row).Interior.ColorIndex = 37 sh.ShowAllData End Sub
I have five such macros.
The problem I am having is that when there is no entry for the macro to work on, it just formats rows 2-21 anyway, and overwrites any other formatting.
I have attached my workbook so you can take a look and see what I mean. Firstly, select "Waiting List" in cell B2, then run the macro "waiting". It should work fine.
Then, delete the content of B2, and run the macro again.
I am trying to use conditional formatting to basically unhide a named range when a specific text is input into a range of cells from C23:C32. I have taken the named range "Screw_Test" and changed the formatting to make it hidden. White text on white background, that sort of thing. What I would like is to change the background color and text color back to something visible when the following is met. In C23:C32 I have a drop down. When Pedicle screw is picked in any of the afore mentioned cells, it would trigger the conditional formatting that would change the "Screw_Test" range (D22:F32) as a whole, making it visible. I haven't had much luck.
I'm looking for a way to apply conditional formatting to a dynamic range, as the number of rows will vary each week.
Col A could be used as a reference, as it will always have a number in it, but wherever it stops is where I would need the conditionally formatted range to cut-off as well.
The actual range that would need formatting applied to it is Columns F-I where:
For any values < 1.00 (it should also cover blanks, which should be treated as zeros), red highlighting is applied & For any text that reads "Flagged" or "Not Reported", they would need to become bold
Additionally, I would like to start the formatting on Row 2 of the sheet in question, named "1010version"
I have a worksheet on which users will enter data one row at a time, in columns A-K. When the user starts to enter data in a new row #, that is, when they make any column in the next, unused row have non-blank value, I'd like the sheet to update the borders of the row for columns A-K. I want the Range from A1 to K# to have full borders, so that the whole data set is outlined and easier to read.
For a bonus, I'd like the formulas from the previous H, I, and J cells copied down into H#, I#, and J#, adjusted appropriately for their reference changes.
Normally, I would work around the edges of such a VB problem by recording the actions manually and then modifying that code as I learned more. But I'm not sure if what I've done is the right way to start that process. I think that if I use the CurrentRegion property, and the Worksheet_Change event, I'll be well on my way.
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've been trying to get around the 3 rule limit for conditional formatting, and I've found the code I need on the site
[url]
I've changed it to suit my needs
Private Sub Worksheet_Change(ByVal Target As Range)
Dim icolor As Integer If Not Intersect(Target, Range("A1:A2000")) Is Nothing Then Select Case Target Case Is = "Test" icolor = 6 Case Is = "Test2" icolor = 12 Case Is = "Test3" icolor = 7 Case Is = "Test4" icolor = 53 Case Is = "Test5" icolor = 15 Case Is = "Test6" icolor = 42 Case Else End Select
Target.Interior.ColorIndex = icolor
End If
End Sub
This works great for one cell, but I need to format a row range based on the single cell. So if Test is entered into A1, then it changes to yellow, I also need the next 6 cells on the row to change too- In this case [B1:G1].
But it needs to cover the range in the code A1:A2000
I need a basic code that accomplishes the following:
1) The user can define a legend for which he can format the cells in that legend however he wishes
2) Cells elsewhere in the sheet that have the same value as that in the legend will format exactly how they are in the legend
3) Default if not in the legend
I found this code that is close...but apparently it relies on the user selecting the cells he wants to format according to the legend FIRST...my code needs an Intersect command or something like that.
Also im not sure if this code actually takes into consideration font+border+shading formats...my code would need to take those into consideration.
I have a short macro to remove highlighting from certain fields when data is entered. Here is the full
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(ActiveCell, Range("j18:j500")) Is Nothing Then Sheets("Internal Transfers").Unprotect Password:="" With Target.Interior .ColorIndex = 0 .Pattern = xlSolid End With Sheets("Internal Transfers").Protect Password:="" End If
End Sub
The highlighting only goes away if you hit the Enter key after entering data in the cell. If you use the tab key after entering data, or use the mouse to select a new cell, the highlighting change doesn't occur. I have a feeling this might simply be related to the way I'm invoking this event. I've not worked with the worksheet_change event before, but I've read through various explanations and descriptions of this event and it isn't clear to me what I need to do.
I want to gray out a row of cells (B11:M11) when "x" is entered in cell M11. Suggestions for using Conditional Formatting or a formula would be great. I have tried a couple of formulas but none work.
I have a range A1:A20. Each cell in this range contains a number between 1 and 100. I'd like to be able to format this range so that the top 3 or largest 3 numbers appear in red.
I have a monthly calender, with each month on its own sheet. I have a sheet named Holidays, which list the holidays. I have been able to use conditional format and highlight the dates in the months the holidays fall on, but I would like to highlight a range of cells below the date on monthly sheet. I have attached a sample of what I have and would like to achieve. I am not much good at using VBA, but would not be against using it either.
I have this code that copy/pastes a range from another sheet for every nth row. In the code I have pasted cells I need to merge the cell with the cell to the right and format it. I thought I was doing ok but the code keeps returning an error (run-time 1004) and I don't know the solution, it is beyond my level of VBA.
Code: Sub test() Dim ws1 As Worksheet Dim ws2 As Worksheet Dim lngRowCounter As Long Dim newRowCounter As Long
[Code] ...
The code in red is the problem and I have commented it out so it can run, but I need it to merge and format. I don't know how to address range/cells in column B and C together (they are the two cells I wish to merge and format).
Is there a way to format a column or range in a spreadsheet that would prevent other formats from being pasted from another spreadsheet?
Obscure question I know...i.e. column A should always be the same font, size, color, border and text format. I want to prevent the user from copying junk from another spreadsheet & pasting all into column A; similar to paste special > values.