Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCCION:
VBA es una programación que está íntimamente relacionada con los libros y las
hojas de cálculo y para esto Excel cuenta con un editor de programación donde se
pone el código, a este se puede acceder, en Excel 2007, yendo a la pestaña
programador y luego a la sección código donde hacemos clic en Visual Basic
Comencemos por lo mas simple y escribamos una macro que seleccione la celda
B5de la Hoja1 del libro VBAProject (Libro2)
no tiene espacios y termina con "( )" . Para ejecutar este código pulsamos en el
icono o en la tecla F5 para que aparezca el panel Macros
donde puede verse el nombre de la macro que ya está seleccionada, luego pulsamos
en "ejecutar" y despues en el icono , o seleccionando " Alta + F5 que nos lleva
a la pantalla con el resultado
y si lo queremos borrar
En los códigos que hemos escrito tenemos los objetos Range("B5") ( celda B5) con
la propiedad de estar seleccionada y el objeto Range("D8") ( celda D8) con la
propiedad de tener un número (2007) y despues estar vacía.
Activecell.FormulaR1C1="Pedro"
Range("A1").Value=" pedro"
3-Letra Negrita
Selection.Font.Bold = True
4-Letra Cursiva
Selection.Font.Italic = True
5-Letra Subrayada
Selection.Font.Underline = xlUnderlineStyleSingle
6-Centrar Texto
With Selection
.HorizontalAlignment = xlCenter
End With
7-Alinear a la izquierda
With Selection
.HorizontalAlignment = xlLeft
End With
8-Alinear a la Derecha
With Selection
.HorizontalAlignment = xlRight
End With
9-Tipo de Letra(Fuente)
With Selection
.Font .Name = "Arial"
End With
End With
11-Copiar
Selection.Copy
12-Pegar
ActiveSheet.Paste
13-Cortar
Selection.Cut
14-Ordenar Ascendente
15-Orden Descendente
16-Buscar
17-Insertar Fila
Selection.EntireRow.Insert
18-Eliminar Fila
Selection.EntireRow.Delete
19-Insertar Columna
Selection.EntireColumn.Insert
20-Eliminar Columna
Selection.EntireColumn.Delete
21-Abrir un Libro
22-Grabar un Libro
El paréntesis destacado en rojo tiene por objetivo cubrir el tango donde están los
números a sumar, o sea, desplazarme 2 columnas a la izquierda [-2] con 5 y 2 filas
hacia arriba es decir
[-5] y [-2]. Se entiende que R significan filas y C columnas y que anteponemos un -
si nos desplazamos hacia la izquierda o hacia arriba. Cuando escribimos una
función, como en el caso anterior, siempre debe ser escrita
ActiveCell.FormulaR1C1 = "=SUM(R[]C[]:R[]C[])", pues el segundo igual es que
caracteriza a la función y el paréntesis el rango donde se aplica. Lo que se acaba de
hacer es lo mismo que dolocar =SUMA(D1:D3) en la celda F6
Hasta ahora hemos hecho una breve intrcduccion a la programacion VBA , pero
una cosa fundamental es entender las estructuras de control de flujo de programa,
lo que haremos mediante ejemplos
Estructuras de iteracion
Frecuentemente algunas líneas de código de repiten muchas veces con el
consiguiente aumento del tamaño del programa. Esto se solucionado mediante los
llamados estructuras de iteración, también llamadas ciclos de repetición o bucles.
Estos son:
While - Wend
Do - While - Loop
Do - Until --Loop
For - Next
Estructuras de desicion:
Select - Case
'Cabe mencionar que al activar la Hoja solo se pueden modificar las celdas de esa hoja
'para modificar las celdas de otra Hoja hay que repetir la instrucción pero con el
Excel.Visible = True
'En caso de que se quiera crear un archivo nuevo se hace de la siguiente manera:
Excel.Workbooks.Add
Excel.Visible = True
'Letra en negrita
'Color de la fuente
Hoja.Range("A1" ).Rows(1).Font.Size = 12
'Texto de la celda
'Bordes de celdas
'Si no se quiere hacer ningún cambio al tipo de fuente por defecto se deja así
Hoja.Name = "Hola"
'En este caso se ponen las celdas o rango de celdas igual que como se haría
'en Excel puede ser sin el signo igual "=" o sin él.
Excel.Application.EVALUATE("SUM(A1:C1)" )
'no se si sirve para todas las fórmulas pero las que he usado si funcionan
Hoja.Range("A1" ).Text)
Hoja.Range("A4" ).Value)
Hoja.SaveAs ("dirección_junto_con_nombre_de_archivo" )
Excel.Workbooks.Close