formato condicional con vba

07/02/2007 - 21:59 por jpc2879 | Informe spam
Hola a todos!

he adaptado este codigo que encontre en otro post, para colorear el
texto contenido en las celdas "A1" y "A2" en el resto de la hoja.

Como podria hacerlo para que si introduzco 01/012007 en “A1” y
10/01/2007 en “B1”, se colorearan en la hoja

todas las fechas comprendidas entre el 01/01/2007 y el 10/01/2007?

He intentado lo siguiente:

Case Is = Range("A1:B1"): celda.Interior.ColorIndex = 4

pero no consigo que funcione

En cualquier caso, no puedo utilizar formato condicional como
alternativa, porque necesito más de 3 condiciones.

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 (celda)
Case Is = Range("A1"): celda.Interior.ColorIndex = 4
Case Is = Range("B1"): celda.Interior.ColorIndex = 4
Case Else: celda.Interior.ColorIndex = xlNone
End Select
Next celda
Salida:
End Sub
 

Leer las respuestas

#1 Héctor Miguel
09/02/2007 - 04:37 | Informe spam
hola, !

he adaptado este codigo... para colorear el texto contenido en las celdas "A1" y "A2" en el resto de la hoja.
Como podria hacerlo para que si introduzco 01/012007 en “A1” y10/01/2007 en “B1”
se colorearan en la hoja todas las fechas comprendidas entre el 01/01/2007 y el 10/01/2007?
He intentado lo siguiente:
Case Is = Range("A1:B1"): celda.Interior.ColorIndex = 4
pero no consigo que funcione
En cualquier caso, no puedo utilizar formato condicional como alternativa, porque necesito mas de 3 condiciones.



segun el codigo que expones...
1) estas seguro/a que TODAS las celdas cuyo contenido sea 'constante' [xlCellTypeConstants]
-> DEBE ser 'afectada' por algun cambio de colores ???
[aunque... estas aplicandolo SOLO a las celdas modificadas, con el uso de "For Each celda In Target..."]

2) puedes comentar 'el resto' de las condiciones que te imposibilitan el uso de los formatos condicionales ?
[o si el caso es que efectivamente requieres formatos 'condicionales' para mas de 3 condiciones de formato]...
-> visita: -> http://www.xldynamic.com/source/xld...nload.html

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
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 (celda)
Case Is = Range("A1"): celda.Interior.ColorIndex = 4
Case Is = Range("B1"): celda.Interior.ColorIndex = 4
Case Else: celda.Interior.ColorIndex = xlNone
End Select
Next celda
Salida:
End Sub

Preguntas similares