Excel - Ejecutar macro en varias hojas

   
Vista:

Ejecutar macro en varias hojas

Publicado por luigi (2 intervenciones) el 01/07/2015 10:11:13
Buenos días, tengo esta macro, que me ordena los datos de las hojas correspondientes a los meses de enero, ferero,........diciembre. funciona correctamente en la hoja activa. Lo que quiero es que se ejecute en las hojas de enero a diciembre (hoja2, hoja3......hoja13) a la vez.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub ordenar()
Range("B4:AL116").Select
 ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range("C4:C123"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
        "Encargado,Jefe de Negociado,Aux-Administrativo,Aux-Taquillero,Tec-Mantenimiento,Medico,D.U.E,Tec-Deportivo Vigilante,Socorrista,L.E.F,Tec-Deportivo N-1,Operario" _
        , DataOption:=xlSortNormal
    ActiveSheet.Sort.SortFields.Add Key:=Range("D4:D123"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
        "Enlace Mañana,Mañana,Correturnos,Tarde,Enlace Tarde", DataOption:= _
        xlSortNormal
    ActiveSheet.Sort.SortFields.Add Key:=Range("E4:E123"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("B4:AL123")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

un saludo y gracias de ante mano por vuestra ayuda
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

Ejecutar macro en varias hojas

Publicado por latrocinio (6 intervenciones) el 05/07/2015 23:30:40
sub OtraRutina
dim oLibro as workbook
dim oHoja as worksheet
set oLibro=activeworkbook
'''''''si se ha de ejecutar en todas sino solo hay que poner un filtro if sMes= oHoja.name'
'seria mejor referenciar la hoja y que el procedimiento lleve como argumento la hoja, pero para no tocar tu
'procedimiento asi creo que valga
For each oHoja in oLibro.Sheets
oHoja.select
call ordenar
next oHoja
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