Macro en varias hojas |
Responder |
Autor | |
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Tema: Macro en varias hojas Enviado: 26/Abril/2020 a las 12:51 |
- (Supuesto) Tienes varios hijos, miras a Pablo y le dices «¡Pablo ve a tu cuarto!», miras a Juan y le dices «¡Pablo ve a tu cuarto!», ... Juan no irá a su cuarto ¿Verdad?, pues Excel hace lo mismo ; si desde la Hoja 3 le dices «Ordena la Hoja2»... Prueba con algo similar a: Sub Macro1() Dim hoja As Worksheet For Each hoja In Worksheets(Array("Hoja2", "Hoja3", "Hoja4")) hoja.Activate Range("B2").Select hoja.Sort.SortFields.Clear hoja.Sort.SortFields.Add Key:=Range("B2"), SortOn:=xlSortOnValues, _ Order:=xlAscending, DataOption:=xlSortNormal With hoja.Sort .SetRange Range("A2:C11") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Next hoja End Sub |
|
Saludos desde Tenerife.
|
|
Reaben
Habitual Unido: 04/Octubre/2012 Estado: Sin conexión Puntos: 55 |
Enviado: 25/Abril/2020 a las 18:48 |
Buenas tardes compañeros.
Lo que necesito hacer es muy sencillo, pero no se me ocurre como. Yo tengo unos datos que necesito ordenar de menor a mayor en base a la fecha. El problema es que tengo que tengo que hacer lo mismo en muchas hojas. Pensé en una macro, pero obviamente, cuando cambio de hoja, los pasos se repiten en la hoja donde se creo la macro. ¿Como puedo hacer para que la macro se ejecute en la hoja en la que estoy trabajando? O mejor aún, si se le puede ordenar que después de ejecutarla cambie el solito de hoja y repita la operación. Gracias de antemano. Os dejo aqui mi codigo por si es de utilidad: Sub Macro1() ' ' Macro1 Macro ' Range("B2:B11").Select ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Add Key:=Range("B2"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Hoja2").Sort .SetRange Range("A2:C11") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |