Saltar al contenido

y como funciona una macro: asi funciona


Ahora veremos como se ejecuta una macro a la hora de abrir un libro
Primeramente inserta un Modulo del Menú Insertar dentro de Visual Basic y escribe el siguiente código:
Sub Auto_open()
Load UserForm1
UserForm1.Show
End Sub
La magia esta en el procedimiento Auto_open() que permite ejecutar automáticamente lo que se encuentre dentro de el cuando abras un libro que contenga este código, en este ejemplo cuando se abre el libro se activa el formulario 1 que programe.
Así que todo lo que agregues dentro de este procedimiento se ejecutara automáticamente cuando abras un libro, que te parece.
A continuación veremos como ordenar una información por orden alfabética ascendente, es un código muy completo y bueno que te permite localizar los datos y ordenarlos, sin pasarse un renglón en blanco.
Observemos el siguiente ejemplo y aprendamos de el:
Si se fijan en la siguiente pantalla tengo datos en una hoja que empinan en el renglón A10 y terminan en C16, el siguiente código detectara donde debe detenerse para poder ordenar los datos. Es necesario crear el código para ordenar datos, pero aquí yo te lo muestro:
Así funciona
Programa esto en el botón1
Private SubCommandButton1_Click()
Rem este código localiza el ultimo registro por medio del renglón
Range(«a10»).Select
  Do While ActiveCell <> Empty
        ActiveCell.Offset(1, 0).Select
  Loop
Rem llega hasta el a17 donde no hay información y se regresa un renglón para ser exacto con la siguiente línea.
        ActiveCell.Offset(-1, 0).Select
Rem este código localiza la última columna del último dato
  Do While ActiveCell <> Empty
        ActiveCell.Offset(0, 1).Select
  Loop
       ActiveCell.Offset(0, -1).Select
Rem esta línea guarda en la variable celdaactiva la celda exacta donde esta el ultimo dato de la ultima columna de información, en este caso C16.
       celdaactiva = ActiveCell.Address
Rem este código toma el rango desde A10 donde empieza la información, hasta donde encontró el ultimo dato C16, que lo guarda la variable celdaactiva. Selecciona de A10 hasta C16.
    Range(«A10:» + celdaactiva).Select
Rem este código ordena los datos en orden ascendente, el código fue generado en Excel, así que si no sabes generarlo solo copialo de aquí.

Selection.Sort Key1:=Range(«A10»), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Así es como funciona este código de Macros de Excel ordenando exactamente desde A10 hasta donde están los datos finales.
Bueno ahora para convertir la información a Minúscula o Mayúscula es muy parecido el código, solo obsérvalo:
Private SubCommandButton1_Click()
Range(«a10»).Select
  Do While ActiveCell <> Empty
        ActiveCell.FormulaR1C1 = LCase(ActiveCell)
        ActiveCell.Offset(1, 0).Select
  Loop
End Sub
Así es la magia esta en Lcase que convierte a Minúsculas y Ucase a Mayúsculas, empieza en A10 y hasta que no encuentra datos deja de convertir a Minúsculas.
El siguiente Formulario y código muestra la fuerza de cómo se puede consultar y modificar el dato que se encontró.
Etiqueta 4, escríbele el numero 9 dentro.
 Así funciona
Crea la siguiente Interfaz, 4 Etiquetas, 3 Textbox y 3 Botones
Copia el siguiente código:
Private Sub CommandButton1_Click()
Rem si no se escribe nada en los Textboxs a la hora de insertar escribe No Tiene
If  TextBox1 = Empty Then Range(«A9»).FormulaR1C1 = «No Tiene»
If  TextBox2 = Empty Then Range(«B9»).FormulaR1C1 = «No Tiene»
If  TextBox3 = Empty Then Range(«C9»).FormulaR1C1 = «No Tiene»
Range(«A9»).Select
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click()
On Error GoTo noencontro
 

Créditos & citaciones en formato APA: Revista educativa Arquitectura21.com, equipo de redacción profesional. (2010, 12). y como funciona una macro: asi funciona. Manuelette Ramirez Bencosme. Obtenido en fecha , desde el sitio web: https://www.arquitectura21.com/2010/12/y-como-funciona-una-macro-asi-funciona.html.