Ejecutar macro al pasar de una hoja a otra

por favor necesito ayuda, actualmente tengo una serie de hojas de la cual hay una en especifico de la que necesito que al salir de ella e ir a otra hoja, específicamente esa me ordene una columna en especifico. Muchísimas gracias de ante mano

1 respuesta

Respuesta
1

Utiliza el evento DEACTIVATE de la hoja que abandonas para realizar la tarea que quieras:

Private Sub Worksheet_Deactivate()

...

...
End Sub

Hola Luis, de verdad muchas gracias.. sabes? asi lo tengo, aquí te copio el código que estoy utilizando. cabe acotar que las lineas que estoy utilizando para ordenar son de una macro que grabe específicamente para eso..

Private Sub Worksheet_Deactivate()
'
' ordenar Macro
'
'
Range("C8:C121").Select
Range("C121").Activate
ActiveWorkbook.Worksheets("Cobranza").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Cobranza").Sort.SortFields.Add Key:=Range( _
"C8:C121"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Cobranza").Sort
.SetRange Range("C7:C121")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

me da error 1004 en tiempo de ejecución..

Por lo que veo quieres ordenar el rango C8:C121. Dime cual es la columna mandante en el ordenado.

Correcto, quiero ordenar toda la columna "C" de menor a mayor. las lineas de código que te coloque es la que estoy utilizando.pero me da el error 1004 en tiempo de ejecución..

Te mando mi solución

Private Sub Worksheet_Deactivate()
Range("C8:C121").Sort key1:=Range("c8"), order1:=xlDescending, Header:=xlYes, ordercustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

recuerda finalizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas