code highlight range based on values in column not work correctly

abdelfattah

Well-known Member
Joined
May 3, 2019
Messages
1,429
Office Version
  1. 2019
  2. 2010
Platform
  1. Windows
hello
I have this code what I'm trying when fill the values in column C should highlight the range from COL A: COL C and if the cells in COL C are empty then shouldn't highlight
I note when I press twice in empty cells in COL C also highlight by yellows color how can I fix it please ?
VBA Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim cell As Range

    If Not Intersect(Target, Columns("C:C")) Is Nothing Then
        For Each cell In Intersect(Target, Columns("C:C"))
            If IsNumeric(cell) Then
                cell.Interior.Color = 65535
            Else
                cell.Interior.Pattern = xlNone
            End If
        Next cell
    End If

    
End Sub
 

Excel Facts

How to total the visible cells?
From the first blank cell below a filtered data set, press Alt+=. Instead of SUM, you will get SUBTOTAL(9,)
It would be easier to help if you could use the XL2BB add-in (icon in the menu) to attach a screenshot (not a picture) of your sheet. Alternately, you could upload a copy of your file to a free site such as www.box.com or www.dropbox.com. Once you do that, mark it for 'Sharing' and you will be given a link to the file that you can post here. Explain in detail what you want to do referring to specific cells, rows, columns and sheets using a few examples from your data (de-sensitized if necessary).
 
Upvote 0
this is my file it only highlight based on numbers value in col C not text or symbol just numeric
1.xlsm
 
Upvote 0
when I press twice in empty cells in COL C also highlight by yellows color
By "press twice" do you mean that if you "double click" in an empty cell in column C, you want to highlight A:C in yellow?
 
Upvote 0
I mean if if I fill value in col c then highlight but I double click in empty cell shouldn't highlight
 
Upvote 0
Try:
VBA Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.CountLarge > 1 Then Exit Sub
    If Target.Column <> 3 Then Exit Sub
    If IsNumeric(Target) And Target <> "" Then
        Range("A" & Target.Row).Resize(, 3).Interior.ColorIndex = 39
    ElseIf Target = "" Then
        Range("A" & Target.Row).Resize(, 3).Interior.ColorIndex = xlNone
    End If
End Sub
 
Upvote 0
excellent ! this exactly what I want just I want adding condition and message boxes what I want when I don't write number in COL C should show message " you have to enter only number and the condition the value should be 100 when enter more or less than this value in COL C then should show message " you have to enter the value is 100 "

thanks again
 
Upvote 0
Do you want to force the value of 100 to be entered in column C immediately after you enter a value in column B? In other words, column C would never be blank. Please clarify in detail, step by step.
 
Upvote 0
no I'm just wanting to force the value of 100 to be entered in COLUMN C when enter for instance 120 or 90 as you see more and less then should show the message and if I write in COL C like date or number with text or symbols , then also show message" you have to add only value is 100 ,the COL A,B are not relating with COL C
 
Upvote 0
Try:
VBA Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.CountLarge > 1 Then Exit Sub
    If Target.Column <> 3 Then Exit Sub
    If Target <> 100 And Target <> "" Then
        MsgBox ("The value must be 100.")
        Range("C" & Target.Row) = 100
        Range("A" & Target.Row).Resize(, 3).Interior.ColorIndex = 39
    ElseIf Target = "" Then
        Range("A" & Target.Row).Resize(, 3).Interior.ColorIndex = xlNone
    End If
End Sub
 
Upvote 0
Solution

Forum statistics

Threads
1,214,923
Messages
6,122,283
Members
449,075
Latest member
staticfluids

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top