Saltar al contenido

el mismo evento en diferentes rangos en un mismo worksheet_change


Recommended Posts

publicado

buenas noches vuelvo con una duda bastante loca en el evento worksheet_ change mi pregunta es la siguiente ¿es posible que un evento que un evento que esta en una hoja se ejecute en varios rangos de celdas?

mi evento empieza de esta forma:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("S14:AW14")) Is Nothing Then


On Error GoTo Salida
Select Case Target
   Case "N":  Target.Font.Color = vbBlack: Target.Interior.Color = vbBlue
   Case "DA": Target.Font.Color = vbRed:   Target.Interior.Color = vbYellow

Case Else: GoTo Salida
End Select
Exit Sub

Salida:
   Target.Font.ColorIndex = xlAutomatic
   Target.Interior.ColorIndex = xlNone 'color de relleno sin color
End If
End Sub

 

cuando intento colocarle varios rangos solo me deja hasta dos y del tercero en adelante me envia error

bueno espero que alguien me pueda ayudar o orientarme para resolver mi nuevo dilema de ante manos gracias

publicado

Tal como te dejo la macro te va a permitir arrastrar valores.

Private Sub Worksheet_Change(ByVal Rango As Range): On Error Resume Next
Application.ScreenUpdating = False
For Each Target In Rango
   If Not Intersect(Target, Range("B3:AF4, B6:AF8, B10:AF14, B16:AF17")) Is Nothing Then
      Target.Font.ColorIndex = xlAutomatic
      Target.Interior.ColorIndex = xlNone 'color de relleno sin color
      Select Case UCase(Target)
         Case "N":    Target.Font.Color = vbBlack: Target.Interior.Color = vbBlue
         Case "DA":   Target.Font.Color = vbRed:   Target.Interior.Color = vbYellow
         Case "LC":   Target.Font.Color = vbRed:   Target.Interior.Color = vbYellow
         'Case "INT":  Target.Interior.Color = vbGreen
         Case "V":    Target.Font.Color = vbRed:   Target.Interior.Color = vbBlack
         Case "L":    Target.Font.Color = vbRed
         Case "DL":   Target.Font.Color = vbRed
         Case "S":    Target.Font.Color = vbRed
         'Case "LC":   Target.Font.Color =  vbRed
      End Select
   End If
   'La propiedad .color puede tener un valor entre 0 y 16.777.215
   'Target.Font.Color = <color> 'color del texto
Next
End Sub

 

publicado

gracias antoni por tu pronta respuesta y tu tiempo quiero decirte que use la macros con los cambios que le hiciste y si bien es cierto que se soluciono el problema de los rangos y tambien quedo perfecto garcias por tu ayuda antoni eeeerrrrrreeeesssss.........grande al igual que el resto de expertos de este foro 

ggggggrrrrraaaaccccciiiiiiiaaaaaaaasssssssss.............................

y con esto doy por solucionado mi problema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.