Macro para Excel 97.

Hola... ¿Podrías ayudarme con una macro para Excel 97?... ¿Si?... Te cuento...
Frecuentemente realizo la misma acción manualmente y pensé que se podría elaborar una macro para invocarla y que ejecute dicha acción automáticamente.
El proceso que habitualmente realizo es el de ordenar filas de una planilla de cálculos en función del contenido de sus columnas. Lo que hago manualmente es lo siguiente:
1) Selecciono (sombreo) la lista que deseo ordenar. Por ejemplo: A1:C3.
2) Voy a Datos del menú con teclas Alt o "/" y "t" o hago clic sobre el mismo.
3) Selecciono Ordenar o "r" o hago clic en Ordenar.
4) En el cuadro "Ordenar por" hago clic en la columna que deseo ordenar (por
ejemplo: B) y clic en Descendente.
5) En el cuadro "Luego por" hago clic en la columna que deseo ordenar (por ejemplo C).
6) En "La lista tiene fila de encabezamiento" hago clic en No.
7) Por último clic en "Aceptar".
Espero que puedas ayudarme. Un saludo grande. Mariano.

4 respuestas

Respuesta
1
Recién veo tu pregunta (Este sitio no avisa cuando uno tiene una pregunta nueva).
Veo en tu pregunta que las comillas (") fueron reemplazadas por un código extraño, (&#8220 abre comillas y &#8221 cierra comillas) pero creo entender tu pregunta.
La primera recomendación sería que utilices la opción de *grabar macros* que está en la opción Herramientas del menu principal (dentro de *Macros*) de esta manera verás cómo MS Excel escribe las instrucciones. Luego es cuestión de ejecutar ese macro que grabaste previamente.
De todos modos te indico cómo ingresar el código para realizar el ordenamiento que describes en tu pregunta:
1. Abre tu archivo.
2. Activa el Editor de Visual Basic (Alt + F11).
3. Ubicar tu archivo en la ventana de proyectos.
4. Inserta un módulo nuevo.
5. Copia este código allí
Sub Sorthis()
Selection.CurrentRegion.Select 'SUPONE QUE EL AREA A ORDENAR ES CONTINUA. si no lo es usa Range("A1:C3").Select
Selection.Sort Key1:=Range("B1"), Order1:=xlDescending, Key2:=Range("C1") , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Este sería tu macro. Ten cuidado que en este sitio, aparentemente las comillas son convertidas a un código o no son interpretadas. (En el macro hay varias)
OK Mariano, espero que esto te sirva.
Un abrazo!
Fernando
Respuesta
1
Vamos a grabar una macro para ahorrarnos tiempo, de acuerdo.
Es tan sencillo como ir al menu herramientas, macro, grabar nueva macro, le damos un nombre válido, y todo lo que toquemos se graba en nuestra nueva macro, cuando acabemos le damos al botón de stop que ha aparecido en una barra flotante y listo.
El tema principal es el siguiente, primero seleccionas las celdas, luego le das a grabar macro, sobreas la selección, la ordenar por el orden deseado, y luego le das al stop.
El fallo común es, que le das a grabar y luego seleccionas la zona en cuestión, así que cada vez que le das a la macro se dirige a las celdas en las que lo grabaste, y no es eso lo que queremos!
PAra hacerlo perfecto saquemos la macro a un nuevo botón en las barras de herramientas: HAz clic derecho en cualquier botón, luego personalizar, en la pestaña comandos, categoría macros, coge personalizar botón y arrastralo hasta una barra de herramientas, ya tenemos un nuevo botón, hacemos clic derecho sobre el y abajo del todo, asignar macro, elige la que hemos grabado. De esta forma cada vez que pulses ell botón se ejecuta la macro.
Respuesta
1
Clic en menu herramientas
Clic en opción macro
Clic en subopcion grabar macro
Colocar nombre a la macro Ordenar_lista
Seleccionar guardar macro en este libro
Aceptar
Realiza todo lo que apuntastes sin repetir ni equivocarse
Para tener la macro
Clic en menu herramientas
Clic en opción macro
Clic en subopcion detener grabación
Para ejecutar la macro
Clic en menu herramientas
Clic en opción macro
Clic en subopcion macro
Seleccionar de la lista tu macro
Pulsar el botón ejecutar
También se puede asignar un botón personalizado a la macro
Respuesta
1
Sería mejor que me enviaras esa plantilla que tienes y yo te hago la macro que necesitas, es muy fácil pero creo que tardaré menos si me envías tu ejemplo a mi dirección [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas