none
target en excel RRS feed

  • Pregunta

  • Que quisiera que por favor alguien me ayudase, he adaptado este codigo y hace una parte de lo que necesito

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

    Option Explicit

    Private Sub Worksheet_Calculate()
       Worksheet_Change Range("BF1")
    End Sub

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    Dim O As String
    O = Range("A1").Value

    '   Determina el evento para observar una celda
        If Target.Address = Range("BF1").Address Then

    '       Accion a tomar
            Select Case Target.Value
                Case Is = "PREPAID"
                    Range("R26:R42").Select
                    Selection.Font.ColorIndex = 2
                    Range("E26:E42").Select
                    Selection.Font.ColorIndex = 0
             
                Case Is = "COLLECT"
                    Range("E26:E42").Select
                    Selection.Font.ColorIndex = 2
                    Range("R26:R42").Select
                    Selection.Font.ColorIndex = 0
            End Select
        End If
    End Sub
    -----------------------------

    El problema es el siguiente: he hecho una validacion en "BF1" para que coga 2 opciones "PREPAID" O "COLLECT" y de acuerdo a esa seleccion se pinte una rango de celdas en una columna, sino que se pinte otro rango de otra columna, mi problema esta en que cuando protejo el libro en donde estoy trabajando no realiza el target, ojo que ya desactive las celdas que voy a trabajar cuando bloque el libro. Alguien me podria ayudar, por favor?
    martes, 8 de abril de 2008 19:26

Respuestas

  •  

    Hummm, deajlo asi:

    Private Sub Worksheet_Change(ByVal target As Excel.Range)

    '   Determina el evento para observar una celda
        If target.Address = Range("BF1").Address Then

    '       Accion a tomar
            Select Case target.Value
                Case Is = "PREPAID"
                    Range("R26:R42").Select
                    Selection.Font.ColorIndex = 2
                    Range("E26:E42").Select
                    Selection.Font.ColorIndex = 0
             
                Case Is = "COLLECT"
                    Range("E26:E42").Select
                    Selection.Font.ColorIndex = 2
                    Range("R26:R42").Select
                    Selection.Font.ColorIndex = 0
            End Select
        End If
    End Sub

    Abraham

    • Marcado como respuesta Ismael Borche martes, 5 de abril de 2011 21:44
    miércoles, 9 de abril de 2008 22:43

Todas las respuestas

  • No especificas que version de excel tienes, pero supondre que es o XP o 2003, y que quisiste decir que proteges la hoja cuando colocaste libro; entonces, a la hora que proteges la hoja, en el cuadro de dialogo que sale, marca el check de "formato de celdas" y listo.

    Abraham

    PD: cualquier cosa, vuelve a escribir!!!!

    martes, 8 de abril de 2008 22:13
  • bueno si, ejecuta el cambio deseado, pero ahora esta en que yo cambio cualquier valor de cualquier celda desprotegida y se activa la macro realizada, no deseo que se active o dispare el evento a cada rato por modifciar las celdas tan solo cuando maque si es Prepaid o Collect. como vendria el codigo me puedes ayudar. gracias de antemano.... el office es el 2003 esp y windows XP profesional.

    gracias

     

    miércoles, 9 de abril de 2008 19:13
  •  

    Hummm, deajlo asi:

    Private Sub Worksheet_Change(ByVal target As Excel.Range)

    '   Determina el evento para observar una celda
        If target.Address = Range("BF1").Address Then

    '       Accion a tomar
            Select Case target.Value
                Case Is = "PREPAID"
                    Range("R26:R42").Select
                    Selection.Font.ColorIndex = 2
                    Range("E26:E42").Select
                    Selection.Font.ColorIndex = 0
             
                Case Is = "COLLECT"
                    Range("E26:E42").Select
                    Selection.Font.ColorIndex = 2
                    Range("R26:R42").Select
                    Selection.Font.ColorIndex = 0
            End Select
        End If
    End Sub

    Abraham

    • Marcado como respuesta Ismael Borche martes, 5 de abril de 2011 21:44
    miércoles, 9 de abril de 2008 22:43