Programación General > Visual Basic para principiantes

 Cómo Obtener El Color De Una Celda?

(1/1)

vickyly:
Hola!!!

Quisiera saber si yo puedo obtener el color de una celda!
Estoy haciendo una macro en excel y gracias a eso podría generar información importante en una celda.
El motivo de esto es poder hacer un IF, donde pregunto si el color es  7, en caso de ser verdadero se hara una fórmula y en caso contrario otra fórmula.

Pero no sé como obtenerlo...

Les agradecería mucho la ayuda!

Saludos,
Vicky

ElberGon:
Para validar si el color de una celda es uno o es otro yo haria algo asi:
(Es un pequño ejemplo que hice para te anexo un archivo de excel con el ejemplo tiene macros pero puedes confiar en ellas no hacen nada malo te lo juro)



--- Código: Text --- Public Sub VerColCel(fin As Long, Optional ini As Long)Dim x As LongDim CarCel As StringDim NumCel As StringDim ce As String If ini < 1 Or fin < 1 Then Exit Sub For x = ini To fin    CarCel = Chr(x + 64)    NumCel = "1"    ce = CarCel & NumCel    Range(ce).Select    Select Case Selection.Interior.ColorIndex        Case 7            MsgBox "Es color Rosa la celda " & ce            'Aqui van Tus Formulas            Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select            Cells(ini + 1, x) = "Rosa"                    Case 1            MsgBox "Es color Negro la celda " & ce            'Aqui van Tus Formulas            Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select            Cells(ini + 1, x) = "Negro"                    Case 4            MsgBox "Es color VerdeFosforesente la celda " & ce            'Aqui van Tus Formulas            Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select            Cells(ini + 1, x) = "VerdeFosforesente"                    Case 46            MsgBox "Es color NaranjaFuerte la celda " & ce            'Aqui van Tus Formulas            Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select            Cells(ini + 1, x) = "NaranjaFuerte"                    Case 6            MsgBox "Es color Amarillo la celda " & ce            'Aqui van Tus Formulas            Range(CarCel & CStr(CLng(Val(NumCel) + 1))).Select            Cells(ini + 1, x) = "Amarillo"                    'Case n . . .                        'Case Else            End Select    Selection.HorizontalAlignment = xlCenterNext xEnd Sub  
Te Anexo el ejemplo como te digo cualquier cosa sigo en contacto con esta discucion espero que sea lo que nesesitas.

Nota: Tu problema lo tenias que haber planteado en el Foro de VBA en este lenguaje se hacen las macros en este foro es VB pero bueno

En el ejemplo que te puse elimina el contenido de las celdas de abajo de las celdas coloreadas para que veas lo que hace . . .

Navegación

[0] Índice de Mensajes

Ir a la versión completa