Macro que se ejecute automatica al cambiar entre dos Hojas

07/07/2007 - 02:02 por Jorge | Informe spam
A ver quien me puede ayudar con esto que intento hacer, me explico:

Tengo una macro que ordena alfabeticamente un rango de filas y columnas por
nombre de empleados en la hoja "Personal". Estos datos tienen que estar
ordenados para que puedan efectuarse los calculos en la otra hoja nombrada
"Oficio". ¿Cómo puedo hacer para que al pasar de la hoja "Personal" a la hoja
"Oficio" la macro Ordenar de la primera hoja se ejecute automáticamente,
evitando con ello el olvido de la persona operadora de tener que ordenar
manualmente los datos con las teclas asignadas a la macro (Ctrl+A)??

Espero puedan ayudarme, gracias.

Preguntas similare

Leer las respuestas

#11 Héctor Miguel
18/07/2007 - 18:40 | Informe spam
hola, Jorge !

... funciona... Solo hay un peque#o detalle
trate de proteger la hoja con una contrase#a dejando... las celdas editables sin proteccion pero no funcionan los codigos.
Se#ala que no se pueden activar los codigos en hojas protegidas.
Ni modo, no todo se puede en esta vida... quedara a criterio del usuario si la descompone toda...



op1: si necesitas usar autofiltros sobre hojas protegidas, copia/pega las siguientes lineas...
en el modulo de codigo del libro [obviamente, modificas nombre de hoja y clave de proteccion] :))
Private Sub Workbook_Open()
With Worksheets("hoja1")
.Protect Password:="123", UserInterfaceOnly:=True
.EnableAutoFilter = True
End With
End Sub

op2: si llegaras a necesitar que el usuario defina sobre que listado aplica los autofiltros...
copia/pega las siguientes lineas en un modulo de codigo 'general' y asignas la macro a algun boton/atajo/...
Option Private Module
Sub AutoFiltrosPorMacro()
With ActiveCell.CurrentRegion
If .Count > 1 Then
If .Parent.AutoFilterMode Then
If .Parent.AutoFilter.Range.Address <> .Address Then .AutoFilter
End If
.AutoFilter
Else
MsgBox """Activa"" por favor [alg]una celda" & vbCr & _
"""dentro"" [o... ""cerca""] de la lista ""a filtrar"".", _
vbInformation, "AutoFiltros por macros"
End If
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#12 Jorge
18/07/2007 - 23:10 | Informe spam
Héctor, no me da problema con los autofiltros sino con el modulo que ordena
automaticamente las celdas "a4:bx701" al salir de la hoja Personal:

Private Sub Worksheet_Deactivate()
With Me.Range("a4:bx701", Range("a4:bx701").End(xlToRight).End(xlDown))
.Sort Key1:=.Cells(1), Order1:=xlAscending, Header:=xlNo
End With
End Sub

Se puede corregir para este módulo con la misma opcion 1 que mencionas???

Gracias
"Héctor Miguel" escribió:

hola, Jorge !

> ... funciona... Solo hay un peque#o detalle
> trate de proteger la hoja con una contrase#a dejando... las celdas editables sin proteccion pero no funcionan los codigos.
> Se#ala que no se pueden activar los codigos en hojas protegidas.
> Ni modo, no todo se puede en esta vida... quedara a criterio del usuario si la descompone toda...

op1: si necesitas usar autofiltros sobre hojas protegidas, copia/pega las siguientes lineas...
en el modulo de codigo del libro [obviamente, modificas nombre de hoja y clave de proteccion] :))
Private Sub Workbook_Open()
With Worksheets("hoja1")
.Protect Password:="123", UserInterfaceOnly:=True
.EnableAutoFilter = True
End With
End Sub

op2: si llegaras a necesitar que el usuario defina sobre que listado aplica los autofiltros...
copia/pega las siguientes lineas en un modulo de codigo 'general' y asignas la macro a algun boton/atajo/...
Option Private Module
Sub AutoFiltrosPorMacro()
With ActiveCell.CurrentRegion
If .Count > 1 Then
If .Parent.AutoFilterMode Then
If .Parent.AutoFilter.Range.Address <> .Address Then .AutoFilter
End If
.AutoFilter
Else
MsgBox """Activa"" por favor [alg]una celda" & vbCr & _
"""dentro"" [o... ""cerca""] de la lista ""a filtrar"".", _
vbInformation, "AutoFiltros por macros"
End If
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida