Excel - Macros y eventos

 
Vista:

Macros y eventos

Publicado por Epifanio Tintinago (3 intervenciones) el 25/02/2007 19:40:29
Estoy manejando el evento Selection Change de Worksheet. Escribo el código y no me produce nada sobre la hoja de excel. Leí algo que dice que el control de eventos siempre está habilitado. Entonces, por qué no se me ejecuta?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Macros y eventos

Publicado por José Luis (700 intervenciones) el 25/02/2007 20:17:35
Puedes haber deshabilitado la captura de eventos ...
Puede que el código no sea el adecuado ...
Puede que estés poniendo el código en el lugar equivocado ...
¿Por qué nos indicas el código que estás escribiendo y el lugar donde lo escribes, hoja, módulo, etc?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macros y eventos

Publicado por Epifanio Tintinago (3 intervenciones) el 25/02/2007 20:30:14
Es un ejercicio para resaltar la fila y columna actuales.
(ver código abajo)

PERO NO PASA NADA EN LA HOJA ACTIVA CUANDO SELECCIONO UNA CELDA
(si te sirve de algo, lo bajé de:
http://office.microsoft.com/es-es/excel/HA011366233082.aspx?pid=CL100570553082

me falta saber cómo ejecuto este tipo de macros por eventos en la hoja activa.

Gracias.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer

'// Note: Don't use if you have conditional
'// formatting that you want to keep

'// On error resume in case user selects a range of cells
On Error Resume Next
iColor = Target.Interior.ColorIndex

'// Leave On Error ON for Row offset errors
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If

'// Need this test in case Font color is the same
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete

'// Horizontal color banding
With Range("A" & Target.Row, Target.Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

'// Vertical color banding
With Range(Target.Offset(1 - Target.Row, 0).Address & ":" & _
Target.Offset(-1, 0).Address) 'Rows(Target.Row)
.FormatConditions.Add Type:=2, Formula1:="TRUE"
.FormatConditions(1).Interior.ColorIndex = iColor
End With

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macros y eventos

Publicado por José Luis (700 intervenciones) el 25/02/2007 20:45:24
Sí que se ejecuta correctamente, lo que no está correcto es el formato condicional que establece el color.
Cambia "TRUE" por "VERDADERO" en los dos sitios donde aparece y ya está.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Macros y eventos

Publicado por Epifanio Tintinago (3 intervenciones) el 25/02/2007 21:19:50
Excelente. Me funcionó. Gracias por dedicarme tanto tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar