Altering Textbox Colour

  • Thread starter Thread starter Stuart
  • Start date Start date
S

Stuart

Cannot find a way to change the colour of the 'fill'
in a textbox.

ElseIf oleObj.Name = "Control 2" Then
With oleObj
.Visible = True
.Enabled = True
.Interior.ColorIndex = 34
'get the cursor in the textbox
.Activate
End With
End If

will run without error, but with no apparent change to the
textbox. Tried BackColor too.

I need to be able to toggle between ColorIndexes
2 and 34. How is this done, please?

Regards.
 
If your TextBox is from the Controls Toolbox menu, it only
accepts a long RGB colour, or a System colour, try:

oleObj.Object.BackColor = ThisWorkbook.Colors(34)

You may or may not need the ".Object" depending on how
oleObj has been set and whether it is a textbox on a sheet
or on a form.

(Textboxes from the Drawing toolbar have different
properties, incl .Interior.Colorindex
and .Fill.Backcolor.Schemecolor).

Regards,
Peter
 
The .Interior.ColorIndex is associated with an excel cell, not
textbox, so it doesn't apply here.

If this is a textbox from the controls toolbar and is put onto
worksheet (since I cannot seem to get a forms textbox to go onto
worksheet), you would use this format:

TextBox1.BackColor = RGB(0, 128, 64)

Check out the BackColor and RGB in VB Help to get the specifics.
 
kkknie,
The .Interior.ColorIndex is associated with an excel
cell, not a textbox, so it doesn't apply here.

Create a Textbox from the Drawing toolbar, select it and
try these:

Selection.Interior.ColorIndex = 3
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 50
If this is a textbox from the controls toolbar and is put
onto a>worksheet (since I cannot seem to get a forms
textbox to go onto a worksheet), you would use this
format:

TextBox1.BackColor = RGB(0, 128, 64)

This is applying a Long RGB, as I previously suggested

Regards,
Peter
 
Try something like

OleObj.Object.BackColor = ThisWorkbook.Colors(34)


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
 
Many thanks all, for the help.

Regards.

Peter T said:
If your TextBox is from the Controls Toolbox menu, it only
accepts a long RGB colour, or a System colour, try:

oleObj.Object.BackColor = ThisWorkbook.Colors(34)

You may or may not need the ".Object" depending on how
oleObj has been set and whether it is a textbox on a sheet
or on a form.

(Textboxes from the Drawing toolbar have different
properties, incl .Interior.Colorindex
and .Fill.Backcolor.Schemecolor).

Regards,
Peter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top