Академический Документы
Профессиональный Документы
Культура Документы
Visual Basic
para Excel
JUNIO 2017
INTRODUCCIN ____________________________________________________________ 1
Editor de Visual Basic ______________________________________________________________ 1
Objetivos ________________________________________________________________________ 1
GRABAR MACROS (Pulsaciones) _______________________________________________ 2
TIPOS DE REFERENCIAS _____________________________________________________ 3
Referencias Absolutas ______________________________________________________________ 3
Referencias Relativas ______________________________________________________________ 3
Referencias Mixtas ________________________________________________________________ 3
SELECCIONES ______________________________________________________________ 4
Offset ___________________________________________________________________________ 4
End ____________________________________________________________________________ 4
RANGOS ___________________________________________________________________ 5
Rango Completo __________________________________________________________________ 5
Rango Separado __________________________________________________________________ 5
Seleccin Mltiple de Rangos ________________________________________________________ 5
TIPOS DE VARIABLES ________________________________________________________ 6
Byte, Integer, Long_________________________________________________________________ 6
Single, Double ____________________________________________________________________ 7
String ___________________________________________________________________________ 7
Boolean _________________________________________________________________________ 7
ESTRUCTURAS DE CONTROL_________________________________________________ 8
IF (Elseif) ________________________________________________________________________ 8
FOR ____________________________________________________________________________ 9
DO WHILE _______________________________________________________________________ 9
DO UNTIL _______________________________________________________________________ 9
FORMATO DE CELDAS ______________________________________________________ 10
Formatos de Nmero ______________________________________________________________ 10
Alineacin ______________________________________________________________________ 10
Fuentes ________________________________________________________________________ 11
Bordes _________________________________________________________________________ 12
Color __________________________________________________________________________ 12
WITH _____________________________________________________________________ 13
SELECCIONES COMPLETAS _________________________________________________ 14
EntireRow / EntireColumn __________________________________________________________ 14
CurrentRegion ___________________________________________________________________ 14
INTRODUCCIN
Editor de Visual Basic
Para la programacin de Macros en Excel, se utiliza el complemento Editor de Visual
Basic. Este se basa en el lenguaje de programacin Visual Basic 6.0, pero con
pequeas adaptaciones que nos permiten utilizarlo en Microsoft Excel, as como tambin
en Microsoft Word, Microsoft PowerPoint, entre otros.
Objetivos
Este curso est principalmente dirigido al Personal del Centro de Operacin que Flota de
Redbus Urbano S.A. Enfocndose en entender el entorno de Visual Basic, y utilizndolo
para optimizar y automatizar los reportes e informes que deben generar dentro de sus
labores diarias.
TIPOS DE REFERENCIAS
Las celdas Al momento de sealar una celda, existen diferentes modos de considerarlas, como por
tienen varias ejemplo su rango (A1, B5, C10, etc), o por su posicin con respecto a otra celda.
caractersticas,
Para esto utilizaremos los comandos Range, Selection, Activecell y Offset
como valor,
frmula, color, Referencias Absolutas
bordes, etc si
Las referencias absolutas hacen mencin a la celda a trabajar, todos los cambios o
cambias .Value
acciones que se programen afectaran solo a esa ubicacin. Esto nos sirve para
por .Color,
trabajar con datos que no se mueven, por ejemplo: Encabezados de tablas, Ttulos de
puedes cambiar
informes, etc..
su color.
En Visual Basic se ocupa el cdigo Range, por ejemplo:
Range(A1).Value = Hola
Range("Q1").FormulaR1C1 = "Unidad"
Referencias Relativas
Las referencias relativas trabajan con coordenadas centradas en la celda activa, esto
nos sirve para rellenar datos en tablas.
Activecell.Value = Hola
Selection.Value = Hola
Activecell.Offset(0,16).FormulaR1C1 = Unidad
Activecell.Offset(1,0).Select
Referencias Mixtas
Las referencias Mixtas mezclan ambas referencias, Esto nos sirve para trabajar rangos
que van cambiando dinmicamente, o reportes que no siempre tengan la misma
cantidad de informacin.
Range(A1).Offset(0,16).FormulaR1C1 = Unidad
Range(A1).Offset(0,16). FormulaR1C1 = Unidad
El saber distinguir que tipo de referencia utilizaremos depender del xito de las macros
que se desarrollen.
SELECCIONES
Si quieres Existen distintos tipos de selecciones que nos ayudan a trabajar con las diferentes
seleccionar una opciones de referencia:
tabla completa,
prueba usando Offset
.currentregion El comando Offset sirve para desplazarse a travs del libro utilizando referencias
.select despus relativas.
del rango.
Toma un punto de referencia utilizando los cdigos Activecell, Range o Selection, y a
partir de ese punto apunta hacia otra celda dependiendo de la cantidad de filas y
columnas que se le indiquen, ejemplo:
Este comando tambin se puede utilizar para cambiar la celda de referencia, ejemplos:
La mezcla de los tipos de Referencias, y el correcto uso del Offset nos permite trabajar
con Tablas completas, y seleccionar Rangos Amplios.
End
El comando End sirve para trabajar con tablas de datos. Se utiliza de forma similar al
Offset, pero este se mueve hasta el final de la tabla. Un ejemplo de su utilizacin es:
Los valores que toma End son: xlDown, xlUp, xlToLeft, xlToRight.
RANGOS
Puedes formar De la misma forma que se hacen las selecciones, se pueden asignar rangos de trabajo,
un rango por ejemplo:
creando una
cadena de texto. Rango Completo
El Rango completo sirve para seleccionar, por ejemplo, una tabla:
Recuerda que
todo lo que est
entre cremillas
corresponde a
una cadena de
Rango Separado
texto.
El rango separado se utiliza para seleccionar celdas separadas:
En los rangos, y en macros en general, todo lo expresado entre cremillas (), es una
cadena de texto, y puede ser reemplazado por una variable de tipo String.
Es TIPOS DE VARIABLES
recomendable En Visual Basic, podemos declarar diferentes tipos de variables, las cuales nos sirven para
trabajar con valores, construir cadenas de texto, identificar acciones, etc. Para declarar una
utilizar las
variable, utilizamos la sentencia Dim, de la siguiente forma:
variables de tipo
Long y Double,
ya que admiten
mayor cantidad
A continuacin, una tabla con los diferentes tipos de variables que podemos asignar en
de datos, a
Visual Basic.
pesar que de
Tipo Descripcin Rango de Valores
aumentan el
Boolean Binario True o False
tamao de la
Byte Entero Corto (1 byte) 0 a 255
macro.
Integer Entero (2 bytes) -32768 a 32767
Single, Double
Utiliza las
Corresponden a variables de tipo Real (nmeros con decimales). Estas se ocupan
variables para operaciones matemticas, y funcionan de la misma forma que las variables Byte,
Boolean junto Integer o Long.
con la estructura
de control IF. String
Corresponden a cadenas de texto, se utilizan para asignar nombres, direcciones, etc
En sntesis, todo dato que contenga texto.
Boolean
Se utilizan como variables de decisin, ya que nicamente toman los valores True o
False.
Esta variable la utilizaremos generalmente en las sentencias IF, aunque pueden ser
perfectamente usadas en otro tipo de iteraciones.
Para esto ocuparemos cuatro sentencias: IF, FOR, DO WHILE, DO UNTIL. Las cuales
funcionan de la siguiente manera:
IF (Elseif)
Es la estructura de control bsica para la toma de decisiones, esta determina el curso
del programa segn la informacin de entrada.
Su lgica es la siguiente:
IF (condicin) Then
Acciones a tomar en caso de cumplirse la condicin
Else
Acciones a tomar en caso de NO cumplirse la condicin
End If
Ejemplo:
A la estructura, adems, se le
puede agregar un ElseIF, para
poder decidir entre mas de dos
opciones, ejemplo:
FOR
Si quieres
El ciclo FOR es una estructura de iteracin (Repeticin), que funciona de la siguiente
recorrer una forma:
tabla, y no
For (condicin de inicio) To (condicin de fin)
conoces su
Sentencias a ejecutar
dimensin, es
Next (variable)
recomendable
Ejemplo:
usar Do While o
Do Until. Este cdigo parte asignando
una variable (i) de tipo Integer,
luego, con i partiendo en 1,
hasta 10 (osea ejecuta 10
veces el cdigo), le asigna el
valor B01 a la celda activa, y
luego se desplaza una celda hacia abajo.
DO WHILE
El ciclo DO WHILE se mantiene iterando mientras se cumpla una condicin. Tiene la
siguiente estructura:
Do While (condicin)
Sentencias a ejecutar
Loop
Ejemplo:
El cdigo se ejecuta
mientras la celda activa
sea distinta de vaco,
asignndole el valor
U6 a la celda de la
derecha.
DO UNTIL
El ciclo DO UNTIL sigue exactamente la misma estructura del ciclo DO WHILE. En Do
While, el ciclo se ejecuta mientras se cumpla una condicin. En Do Until, el ciclo se
ejecuta hasta que se cumpla una condicin.
diferenciar tanto
Formatos de Nmero
valores como
Para modificar el formato de nmero se utiliza el comando NumberFormat, por
formatos,
ejemplo:
ocpalo cuando
Range(A1).NumberFormat = 0 Asigna Formato de Nmero
necesites
trabajar una Range(A1).NumberFormat = @ Asigna Formato de Texto
HorizontalAlignment WrapText
Si olvidas algn AddIndent ShrinkToFit
IndentLevel MergeCells
comando,
VerticalAlignment ReadingOrder
puedes grabar
Orientation
una macro para
recordarlos.
Fuentes
Si olvidas algn
Las fuentes se modifican indicando el rango, seguido por .Font adems de la
comando, caracterstica de la fuente que cambiaremos, ejemplo:
puedes grabar
Range(A1).Font.Size = 10 Cambia el tamao de letra a 10
una macro para
recordarlos. El listado de fuentes a modificar es:
Name OutlineFont
FontStyle Shadow
Size Underline
Strikethrough ThemeColor
Superscript TintAndShade
Subscript ThemeFont
Bordes
Recuerda que
As como las fuentes y las alineaciones, los bordes tambin se pueden modificar de la
los bordes, siguiente manera:
adems del valor
Rango.Borde a Modificar.Estilo de lnea = Valor.
y la fuente, son
una Ejemplo:
Estos bordes deben estar acompaados de la caracterstica del objeto a modificar, por
ejemplo Linestyle, el cual puede tomar los siguientes valores:
xlContinuous
xlDash
xlDashDot
xlDashDotDot
xlDot
xlDouble
xlSlantDashDot
Adems del tipo de lnea, se puede modificar el color (.Color, .Themecolor), el grosor
(.Weight), etc..
Color
El color, se puede modificar con la sentencia .Interior.Color , el cual puede tomar
valores numricos o RGB.
Range(A1).Interior.Color = RGB(255,255,255).
Range(A1).Font.Bold = True
End Sub
Aplicando With:
Sub Con_With()
With Range(A1)
.Value = Hola
.Font.Bold = True
. Borders(xlEdgeTop).Linestyle = xlContinuous
End With
End Sub
Este comando sirve para ahorrar tiempo al desarrollar el cdigo cuando se tienen muchos
valores que asignar a una celda, especialmente al asignar cada borde.
CurrentRegion
El comando CurrentRegion sirve para seleccionar/trabajar la tabla completa, por
ejemplo:
Range(A1).CurrentRegion.Select
Estos tipos de selecciones nos permiten operar fcilmente con tablas, sobre todo al
momento de aplicar filtros, aplicar ordenamiento, formatos, reas de impresin, etc.