none
Codigo VBA

    Question

  • Hola a todos!

    he adaptado este codigo que encontre en un 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

    ------------------------------------------------------------------

    Wednesday, February 07, 2007 4:28 PM

Answers

  • Hola Qandeal,

    Me parece q tu codigo no maneja los posibles errores del todo bien, pero tampoco conozco todas las circunstancias :-) En todo caso, podrias probar lo siguiente:

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

    Saturday, February 10, 2007 4:34 PM