Change Textbox Colour based on value

m0atz

Board Regular
Joined
Jul 17, 2008
Messages
247
Hi all,

I have a userform with lots of different textboxes each in groups. Just wondering if I can loop through the textboxes to change their colour based on certain values,

for example, if the value in the text box is less than 1000 then red, less than 500 then amber or less than 250 then green?

I tried the following:

Code:
Dim h
 
    For h = 5 To 17
        With UserForm1.Controls("Textbox" & h)
            If .Value < 1000 Then
                .Interior.ColorIndex = 3
            End If
        End With
    Next h
but that doesnt seem to do anything... any ideas?
cheers

colin
 

Some videos you may like

Excel Facts

What is the fastest way to copy a formula?
If A2:A50000 contain data. Enter a formula in B2. Select B2. Double-click the Fill Handle and Excel will shoot the formula down to B50000.

Fowmy

Well-known Member
Joined
Jul 10, 2008
Messages
512
Office Version
365
Platform
Windows
Add a commanbutton and try this:

Code:
Private Sub CommandButton1_Click()
For x = 1 To 5
Select Case Me.Controls("TextBox" & x).Value
    
    Case 0 To 249: Me.Controls("TextBox" & x).BackColor = vbGreen
    Case 250 To 499: Me.Controls("TextBox" & x).BackColor = vbRed
    Case 500 To 999: Me.Controls("TextBox" & x).BackColor = vbBlue

End Select
Next
End Sub
 

Norie

Well-known Member
Joined
Apr 28, 2004
Messages
75,764
Office Version
365
Platform
Windows
colin

You might want to convert what's in the textbox to a number if you want to compare it to a numeric value.

Perhaps more importantly you might want to use another property to change the colour, Interior.ColorIndex is for cells.

Oh, and the numbers used for colours are a bit different.:)
Code:
  Dim h
 
    For h = 5 To 14

        With UserForm1.Controls("Textbox" & h)

            If Val(.Value) < 1000 Then
                ' this is for font color, use BackColor for the interior color
                .ForeColor = &HC0&
            End If

        End With

    Next h

End Sub
 

m0atz

Board Regular
Joined
Jul 17, 2008
Messages
247
Thanks both,

Norie, appreciate the info, the code works great.

The values in the TB are numeric, so .value works fine. Is there a list of 'codes' for different colours?

cheers
 

Subscribe on YouTube

Watch MrExcel Video

Forum statistics

Threads
1,106,616
Messages
5,512,428
Members
408,894
Latest member
Sara Russell

This Week's Hot Topics

  • Sort code advice please
    Hi, I have the code below which im trying to edit but getting a little stuck. This was the original code which worked fine,columns A-F would sort...
  • SUMPRODUCT with nested If statement
    Hi everyone, Hope you're all well. I'm hoping someone will be able to point me in the right direction with a problem I'm having with a SUMPRODUCT...
  • VBA - simple sort is killing me!
    Hello all! This should be so easy, but not for me, apparently! I have a table of data that can be of varying lengths and widths. My current macro...
  • Compare Two Lists
    I have two Lists and I need to be able to Identify differences between them. List 100 comes from a workbook - the other is downloaded form the...
  • Formula that deducts points for each code I input.
    I am trying to create a formula that will have each student in my class start at 100 points and then for each code that I enter (PP for Poor...
  • Conditional formatting formula required for day of week and a value
    Hi, I have a really simple spreadsheet where column A is the date, column B is the activity total shown as a number and column C states the day of...
Top