problema con codigo vba

07/02/2007 - 11:13 por josemaria.cabrera | Informe spam
Hola a todos!

he adaptado este codigo que encontre en un post, para colorear el
texto contenido en las celdas "A1" y "A2" en la hoja. Funciona
correctamente con cadenas de texto, pero no he conseguido hacerlo
funcionar con numeros o fechas. Es decir, si introduzco 01/01/2007 ó
100 en A1, deberia colorearse cualquier otra celda de la hoja que
contenga esos valores.

Por otro lado, si introduzco 01/012007 en A1 y 10/01/2007 en B1, seria
posible que se colorearan en la hoja
todas las fechas comprendidas entre el 01/01/2007 y el 10/01/2007?

Gracias por adelantado, jpc



Private Sub Worksheet_Change(ByVal Target As Range)
Dim celda As Range
Target.Interior.ColorIndex = xlNone
On Error GoTo Salida
For Each celda In Target.SpecialCells(xlCellTypeConstants)
Select Case UCase(celda)
Case Is = Range("A1"): celda.Interior.ColorIndex = 1
Case Is = Range("A2"): celda.Interior.ColorIndex = 5
Case Else: celda.Interior.ColorIndex = xlNone
End Select
Next celda
Salida:
End Sub
 

Leer las respuestas

#1 KL
07/02/2007 - 11:19 | Informe spam
Hola jpc,

Para empezar, creo que esto es mejor hacerlo mediante Formato Condicional.

Saludos,
KL


wrote in message
news:
Hola a todos!

he adaptado este codigo que encontre en un post, para colorear el
texto contenido en las celdas "A1" y "A2" en la hoja. Funciona
correctamente con cadenas de texto, pero no he conseguido hacerlo
funcionar con numeros o fechas. Es decir, si introduzco 01/01/2007 ó
100 en A1, deberia colorearse cualquier otra celda de la hoja que
contenga esos valores.

Por otro lado, si introduzco 01/012007 en A1 y 10/01/2007 en B1, seria
posible que se colorearan en la hoja
todas las fechas comprendidas entre el 01/01/2007 y el 10/01/2007?

Gracias por adelantado, jpc



Private Sub Worksheet_Change(ByVal Target As Range)
Dim celda As Range
Target.Interior.ColorIndex = xlNone
On Error GoTo Salida
For Each celda In Target.SpecialCells(xlCellTypeConstants)
Select Case UCase(celda)
Case Is = Range("A1"): celda.Interior.ColorIndex = 1
Case Is = Range("A2"): celda.Interior.ColorIndex = 5
Case Else: celda.Interior.ColorIndex = xlNone
End Select
Next celda
Salida:
End Sub

Preguntas similares