Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

VBA Excel

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

VBA Excel

Con Visual Basic podrás crear programas y funciones personalizadas


para ahorrar tiempo. Suena bien ¿verdad? En esta guía encontrarás
información útil para empezar a crear tus primeras líneas de código.

Uno de los programas que podrás crear es un categorizador


automático, muy útil cuando se hace un keyword
research

Índice: [hide]
 ¿Qué es VBA Excel?
 Editor de Visual Basic Application en Excel
 Variables
o Tipos de datos en VBA
 Expresiones u operadores
 Sub rutinas
 Funciones
 Condicionales
o La sentencia If simple
o Añadir la sentencias Else
o La sentencia ElseIf
o La sentencia Select Case
 Bucles
o Bucle While … Wend
o Bucle Do … Loop
o Bucle For … Next
 Objetos
o El libro
o La hoja
o Los rangos
 ¿Cómo hacer referencia a rangos en otras hojas?
 ¿Cómo utilizar la propiedad Cells para seleccionar un
rango?
 ¿Cómo utilizar la propiedad Offset para hacer
referencia a un rango?
 Desplazamientos
 SIN UNA BUENA ESTRATEGIA ONLINE ESTÁS ABOCADO AL
FRACASO

¿Qué es VBA Excel?


VBA es el lenguaje de programación utilizado por Microsoft para crear
aplicaciones en Windows. Viene integrado en la suite de Office: Outlook,
Word, Power Point…etc. A continuación vamos a ver cómo empezar a
utilizarlo para crear pequeños programas en Excel.

Editor de Visual Basic Application en Excel


Para poder empezar a programar en VBA necesitamos habilitar la pestaña
Programador. Para hacerlo, haz clic derecho en cualquier elemento del menú
superior y haz clic en Personalizar la cinta de opciones.

Llegarás a una ventana donde debes hacer clic en Personalizar cinta de


opciones (en el menú de la izquierda) y seleccionar a la derecha la
opción Programador.
Hecho esto ya te aparecerá el menú con las opciones necesarias para crear tus
primeros programas y macros.

Variables
Las variables son la representación de un valor o un objeto. Se declaran
utilizando Dim, ejemplo:

1
2Dim nombreVariable As tipodatos
Tipos de datos en VBA
Tipo Datos que contiene

Boolean True o False

Byte Nº enteros entre 0 y 255

Integer Nº enteros entre -32768 y 327687

Long Nº enteros entre -2147483648 y 2147483647

Single Nº decimales de precisión simple

Double Nº decimales de precisión doble

String Cadenas de caracteres

Date Fechas

Object Referencias a objetos


Tipo Datos que contiene

Variant Cualquier tipo de dato

Siguiendo con el ejemplo anterior, podríamos declarar una variable así:

1
2Dim strDominio As String
Expresiones u operadores
Las expresiones en VBA aritméticas, relacionales o lógicas. A su vez, existen
operadores que permiten componer este tipo de expresiones. Los operadores
son:

OPERADOR OPERACIÓN QUE EFECTÚA

Aritméticos

+ Suma

– Resta

\ División entera

Mod Resto de la división entera


OPERADOR OPERACIÓN QUE EFECTÚA

* Multiplicación

/ División

^ Potencia del primer operando

Relacionales

= Comprueba si los dos operandos son iguales

<> Comprueba si los dos operandos son distintos

<= Comprueba si el primero es menor o igual que el segundo

> Comprueba si el primero es mayor que el segundo


OPERADOR OPERACIÓN QUE EFECTÚA

>= Comprueba si el primero es mayor o igual que el segundo

Lógicos

And Devuelve true si los dos son true

Or Devuelve true si uno de los dos, o los dos son true

Xor Devuelve true si uno de los dos es true y el otro false

Eqv Devuelve true si los dos son true o false

Not Devuelve true si el operando es false y viceversa

Sub rutinas
Los procedimientos Sub siempre comienzan con la palabra reservada Sub, el
nombre de la macro (cada macro debe tener un nombre único) y un par de
paréntesis (estarán vacíos a menos que el procedimiento utilice uno o más
argumentos).

La instrucción End Sub señala el final del procedimiento. Las líneas que se
encuentran en medio son el código del procedimiento.
Un ejemplo de sub rutina:

1Sub FechaActual()
2 'Inserta la fecha actual en la celda activa al hacer clic en un botón
3 ActiveCell.Value = Date
4 ActiveCell.NumberFormat = "mmmm d, yyyy"
5 ActiveCell.Font.Bold = True
6 ActiveCell.Columns.AutoFit
7End Sub
Funciones
Una función siempre devuelve un único valor (del mismo modo que una
función de hoja siempre devuelve un único valor). Una función VBA puede
ejecutarse desde otro procedimiento VBA o usarse en fórmulas de hoja, igual
que usaría las funciones de hoja integradas en Excel.

Como ejemplo, el script que creé para extraer el dominio de una url:

1Function rcStrDomain(url As String) As String


2
3 'Comprobamos si el parámetro url es verdaderamente una url
4 If Left(url, 4) Like "http*" Then
5 'Extraemos todo lo que va después de //
6 url = Mid(url, InStr(url, "//") + 2)
7 Else
8 'Si no es una url, lo introducimos en la celda
9 rcStrDomain = "No es una url"
10 Exit Function
11 End If
12 'Comprobamos si el subdominio contiene las tres típicas www (o variacion
13 If Left(url, 4) Like "[Ww][Ww][Ww0-9]." Then
14 'De ser así, extraemos lo que va después de www (o variaciones)
15 url = Mid(url, 5)
16 End If
17 'Finalmente, la función devuelve la cadena de texto hasta que se encuent
18 rcStrDomain = Split(url, "/")(0)
19
20End Function
Condicionales
Las sentencias condicionales en Visual Basic funcionan de forma muy
parecida a otros lenguajes de programación. Encontramos dos tipos de
sentencias de ramificación, una de las cuales tiene tres variaciones:

La sentencia If simple
1If condición Then
2 sentencias
3End If
Añadir la sentencias Else
1If condición Then
2 sentencias1
3Else
4 sentencias2
5End If
La sentencia ElseIf
1If condición1 Then
2 sentencias1
3ElseIf condición2 Then
4 sentencias2
5Else
6 sentencias3
7End If
La sentencia Select Case
1Select Case expresión
2 Case expresión1
3 sentencias1
4Case expresión2
5 Sentencias2
6………
7 Case expresiónN
8 sentenciasN
9 Case Else
10 sentencias para la alternativa no coincidente con ninguna anterior
11End Select
Bucles
Los bucles son la solución para cuando necesitamos repetir una serie de
instrucciones un número de veces para resolver un problema.

Existen tres tipos de bucles, uno de los cuales tiene cuatro variedades:

Bucle While … Wend


1'Mientras se cumpla una condición
2While condición
3 'Ejecuta una acción
4 sentencias
5Wend
6
7'Ejemplo
8Dim Contador
9Contador = 0 ' Valor inicial.
10While Contador < 20 ' Mientras sea menor de 20.
11 Contador = Contador + 1 ' Incrementa su valor +1.
12Wend ' El bucle termina cuando el Contador > 19.
13MsgBox Contador ' Mensaje con el valor de Contador, igual a 20.
Bucle Do … Loop
1'Ejecuta una acción
2Do
3Sentencias
4'Mientras se cumpla una condición
5Loop While/Until condición
6
7'Ejemplo
8Dim index As Integer = 0
9Do While index <= 10 'Mientras el valor sea menor igual que 10
10 Debug.Write(index.ToString & " ") 'Convierte el valor a string y añade u
11 index += 1 ' Aumenta el valor del contador +1
12Loop
13
14Debug.WriteLine("")
15' Resultado: 0 1 2 3 4 5 6 7 8 9 10
Bucle For … Next
1'Repite una acción un nº limitado de veces. Desde un valor hasta otro.
2For variable = expresión1 To expresión2 [Step expresión3]
3 'Ejecuta una acción
4 Sentencias
5Next variable
Objetos
Excel cuenta con decenas de objetos que representan a todos los elementos
que podamos imaginar: estilos, nombres definidos para celdillas y rangos,
gráficos, libros, hojas, rangos, ventanas, complementos y proyectos de Visual
Basic son algunos de ellos.

El objeto que actúa como raíz de todos los demás, del cual dependen,
es Application.

El libro
Cada libro de Excel, que hasta hemos utilizado en calidad de usuarios, es la
representación de un objeto Workbook. Partiendo del objeto Application
podemos acceder tanto al libro actual, con la propiedad
ActiveWorkbook, como a la colección de todos los libros abiertos, con la
colección Workbooks.

La hoja
Cada libro contiene una o más hojas de cálculo, cada una de las cuales tiene
correspondencia directa con un objeto Worksheet. A través de este objeto,
con sus propiedades y métodos, podemos acceder a todo el contenido que
exista en la hoja: celdillas, gráficos, elementos visuales como los diagramas,
tablas dinámicas, etc.

Los rangos
Un rango puede ser una celda, una fila, una columna o una agrupación de
cualquiera de éstos. El objeto Range es probablemente el objeto más
frecuentemente utilizado en Excel VBA .

¿Cómo hacer referencia a rangos en otras hojas?


1Worksheets(“Hoja1”).Range(“A1”)

¿Cómo utilizar la propiedad Cells para seleccionar un rango?


1Cells(5, “C”)

¿Cómo utilizar la propiedad Offset para hacer referencia a un


rango?
1Range(“A1”).Offset(4, 5)

Desplazamientos

INDICADOR DESPLAZAMIENTOS
xlDown Hacia abajo

xlUp Hacia arriba

xlToRight Hacia la derecha

xlToLeft Hacia la izquierda

También podría gustarte