ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to discovery the color... (https://www.excelbanter.com/excel-programming/383668-how-discovery-color.html)

Lisandro Oliveira

How to discovery the color...
 
How can I know what is the color of the value of variable?
Example:

Cell A1 = €œtest€ (its in red)

VBA:

Dim var as string
Var = range(€œA1€).value

If var.Interior.ColorIndex = red then
Msgbox €œred€
End if

Tks,
Lisandro


Tom Ogilvy

How to discovery the color...
 
for the Font:
Dim r as Range
set r = range(€œA1€)

If r.Font.ColorIndex = 3 then
Msgbox €œred€
End if

if the cell background is red:

Dim r as Range
set r = range(€œA1€)

If r.Interior.ColorIndex = 3 then
Msgbox €œred€
End if

--
regards,
Tom Ogilvy

"Lisandro Oliveira" wrote:

How can I know what is the color of the value of variable?
Example:

Cell A1 = €œtest€ (its in red)

VBA:

Dim var as string
Var = range(€œA1€).value

If var.Interior.ColorIndex = red then
Msgbox €œred€
End if

Tks,
Lisandro


merjet

How to discovery the color...
 
ColorIndex is a number, not text. Not sure what you seek, but see
this:
http://www.mvps.org/dmcritchie/excel/colors.htm


Hth,
Merjet


Lisandro Oliveira

How to discovery the color...
 
Hi Tom,

The fixed color that is returning is "-4105"
Doesnt matter if it is blue or red, always return "-4105" from
r.Font.ColorIndex

Why??

This is the code:

For i = 0 To UBound(meuarray)
Range("A2").ClearFormats
Range("A2").Value = meuarray(i)
Set test = Range("A2")
If test.Font.ColorIndex = "3" Then
Cells(ll, col + 1).Select
Selection.Font.ColorIndex = 3
End If
Cells(ll, col + 1).Value = meuarray(i)
ll = ll + 1
Next




"Tom Ogilvy" wrote:

for the Font:
Dim r as Range
set r = range(€œA1€)

If r.Font.ColorIndex = 3 then
Msgbox €œred€
End if

if the cell background is red:

Dim r as Range
set r = range(€œA1€)

If r.Interior.ColorIndex = 3 then
Msgbox €œred€
End if

--
regards,
Tom Ogilvy

"Lisandro Oliveira" wrote:

How can I know what is the color of the value of variable?
Example:

Cell A1 = €œtest€ (its in red)

VBA:

Dim var as string
Var = range(€œA1€).value

If var.Interior.ColorIndex = red then
Msgbox €œred€
End if

Tks,
Lisandro


Lisandro Oliveira

How to discovery the color...
 
The problem is that the cell where is the value has more than one value with
different colors.
A1 = "A, B, C"
A = red
B = Blue
C = Black

I put each value in a different cell
C1 = A
D1 = B
E1 = C

But i need to bring also the color each value.

"Lisandro Oliveira" wrote:

Hi Tom,

The fixed color that is returning is "-4105"
Doesnt matter if it is blue or red, always return "-4105" from
r.Font.ColorIndex

Why??

This is the code:

For i = 0 To UBound(meuarray)
Range("A2").ClearFormats
Range("A2").Value = meuarray(i)
Set test = Range("A2")
If test.Font.ColorIndex = "3" Then
Cells(ll, col + 1).Select
Selection.Font.ColorIndex = 3
End If
Cells(ll, col + 1).Value = meuarray(i)
ll = ll + 1
Next




"Tom Ogilvy" wrote:

for the Font:
Dim r as Range
set r = range(€œA1€)

If r.Font.ColorIndex = 3 then
Msgbox €œred€
End if

if the cell background is red:

Dim r as Range
set r = range(€œA1€)

If r.Interior.ColorIndex = 3 then
Msgbox €œred€
End if

--
regards,
Tom Ogilvy

"Lisandro Oliveira" wrote:

How can I know what is the color of the value of variable?
Example:

Cell A1 = €œtest€ (its in red)

VBA:

Dim var as string
Var = range(€œA1€).value

If var.Interior.ColorIndex = red then
Msgbox €œred€
End if

Tks,
Lisandro


Tom Ogilvy

How to discovery the color...
 
that would be the case if your using conditional formatting to apply the
color.


? xlAutomatic
-4105

For conditional formatting, you would have to check the same conditions you
have defined in the conditional formatting to see which condition is true.
There is no way to directly get the color produced by conditional formatting.

You can look at this, but I think you just need to check the condition which
you should know.
http://www.cpearson.com/excel/CFColors.htm

--
Regards,
Tom Ogilvy



"Lisandro Oliveira" wrote:

Hi Tom,

The fixed color that is returning is "-4105"
Doesnt matter if it is blue or red, always return "-4105" from
r.Font.ColorIndex

Why??

This is the code:

For i = 0 To UBound(meuarray)
Range("A2").ClearFormats
Range("A2").Value = meuarray(i)
Set test = Range("A2")
If test.Font.ColorIndex = "3" Then
Cells(ll, col + 1).Select
Selection.Font.ColorIndex = 3
End If
Cells(ll, col + 1).Value = meuarray(i)
ll = ll + 1
Next




"Tom Ogilvy" wrote:

for the Font:
Dim r as Range
set r = range(€œA1€)

If r.Font.ColorIndex = 3 then
Msgbox €œred€
End if

if the cell background is red:

Dim r as Range
set r = range(€œA1€)

If r.Interior.ColorIndex = 3 then
Msgbox €œred€
End if

--
regards,
Tom Ogilvy

"Lisandro Oliveira" wrote:

How can I know what is the color of the value of variable?
Example:

Cell A1 = €œtest€ (its in red)

VBA:

Dim var as string
Var = range(€œA1€).value

If var.Interior.ColorIndex = red then
Msgbox €œred€
End if

Tks,
Lisandro


Tom Ogilvy

How to discovery the color...
 
if as you seem to say, a single cell has rich text formatting so parts of the
cell are on color and parts another, then I get this:

? activeCell.Font.ColorIndex
Null

not -4105 with is the value for automatic coloring.

--
Regards,
Tom Ogilvy


"Lisandro Oliveira" wrote:

The problem is that the cell where is the value has more than one value with
different colors.
A1 = "A, B, C"
A = red
B = Blue
C = Black

I put each value in a different cell
C1 = A
D1 = B
E1 = C

But i need to bring also the color each value.

"Lisandro Oliveira" wrote:

Hi Tom,

The fixed color that is returning is "-4105"
Doesnt matter if it is blue or red, always return "-4105" from
r.Font.ColorIndex

Why??

This is the code:

For i = 0 To UBound(meuarray)
Range("A2").ClearFormats
Range("A2").Value = meuarray(i)
Set test = Range("A2")
If test.Font.ColorIndex = "3" Then
Cells(ll, col + 1).Select
Selection.Font.ColorIndex = 3
End If
Cells(ll, col + 1).Value = meuarray(i)
ll = ll + 1
Next




"Tom Ogilvy" wrote:

for the Font:
Dim r as Range
set r = range(€œA1€)

If r.Font.ColorIndex = 3 then
Msgbox €œred€
End if

if the cell background is red:

Dim r as Range
set r = range(€œA1€)

If r.Interior.ColorIndex = 3 then
Msgbox €œred€
End if

--
regards,
Tom Ogilvy

"Lisandro Oliveira" wrote:

How can I know what is the color of the value of variable?
Example:

Cell A1 = €œtest€ (its in red)

VBA:

Dim var as string
Var = range(€œA1€).value

If var.Interior.ColorIndex = red then
Msgbox €œred€
End if

Tks,
Lisandro



All times are GMT +1. The time now is 09:24 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com