- EN VBA UNA MACRO SE DEFINE DE LA SIGUIENTE MANERA:
SUB "nombre de la macro"()
ACA SE ESCRIBE TODO EL CODIGO
END SUB
IF CONDICION THEN
CODIGO CUANDO ES VERDADERO
ELSE
CODIGO CUANDO ES FALSO
END IF
EJEMPLO
SUB Nuevo()
ACA SALE VACIO
END SUB
ESCRIBIR "HOLA" EN LA CELDA A6 DE LA HOJA ACTIVA
El contenido de un rango
Range("rango").value
Range("A1").value="Hola" ' Se escribe Hola en A1 de la hoja activa
Range("A1:A20").value="Hola" ' Se escribe Hola en A1 hasta A20 de la hoja activa
Range("Datos").value="Hola" ' Se escribe Hola en en nombre de rango Datos
Sub Escribe()
Range("A6").value=”Hola”
End Sub
ESCRIBIR UNA MACRO QUE BORRE (ACCION….METODO) EL CONTENIDO DEL RANGO A1:A10 de la hoja
activa
Sub Borrar()
Rem ClearContents solo borra el contenido
Rem Si se usa Clear Esto elimina el contenido total, formatos, bordes, datos, etc.
Range("A1:A10").ClearContents
End Sub
Hacer la siguiente macro de un modo diferente
Sub Escribe()
Range("A6").value=”Hola”
End Sub
Vamos a usar Referencias F1C1 … A6 es F6C1
Sub Escribe1()
Rem Cells(Fila,Columna) .. Fila y la columna son números
Cells(6,1).value=”Hola”
End Sub
Sub Escribe20()
Cells(10,5).value=Range(“DNI”).value
End Sub
Almacena en la celda E10 de la hoja activa, el contenido del rango DNI
Las Macros Escribe y Escribe1 almacenan el dato en la hoja activa, ¿Y si se quiere almacenar en otra hoja,
por ejemplo la hoja “Historico”, como se haria o como se referencian los objetos?
Respuestas
Sub Escribe()
Worksheets(“Historico”).Range("A6").value=”Hola”
End Sub
Podemos estar en cualquier hoja y grabar en la hoja que necesitamos con tan solo indicar antes del objeto
Range o Cells la hoja destino usando el objeto Worksheets.
Sub Escribe()
Worksheets(“Historico”).Cells(6,1).value=”Hola”
End Sub
Si en el nombre de rango “EDAD” se encuentra la edad de una persona que comando usaria para que esa
edad se almacene en la celda C8 de la hoja “Planilla”. Use el objeto Cells.
Sub Copiar1()
Worksheets(“Planilla”).Cells(8,3).value=Range(“Edad”).value
End Sub
Si .Value se omite, VBA asume que es la propiedad Value
Ejemplo
Sub CopiarX()
Worksheets(“Planilla”).Cells(8,3)=Range(“Edad”)
End Sub
Escribir una macro que seleccione la celda B6 y luego le coloque negrita al valor de esa celda.
Sub Colorea()
Rem Select es un método que permite seleccionar una celda
Range(“B6”).Select
Rem se podria hacer de la siguiente Manera
Rem Range(“B6”).Font.Bold=True
Selection. Font.Bold=True
End Sub