Logo Studenta

VBA-Excel-Guia-practica-Aprende-a-crear-macros-en-Excel-desde-cero-pdf

¡Este material tiene más páginas!

Vista previa del material en texto

22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 1/23
VBA Excel. Guía práctica.
Las siglas de VBA, vienen del inglés y significan (Visual Basic for Applications), también
conocido en español como Visual Basic para Aplicaciones. Este editor es independiente de
Excel y nos permite crear macros personalizadas a través de código de programación
para automatizar nuestro trabajo diario.
Contenido [Ocultar]
1 ¿Qué es una macro en Excel?
2 Preparando Excel para la creación de macros con VBA.
3 Configurando la seguridad de las macros.
4 Como acceder al editor VBA en Excel.
5 Programación Orientada a Objetos en VBA Excel (POO).
6 Organización del código en el editor VBA.
7 Variables, constantes y tipos de datos en VBA Excel.0
https://www.clasesdeinformaticaweb.com/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 2/23
8 Arrays o vectores en Visual Basic para Aplicaciones VBA.
9 Matrices de dos dimensiones en VBA.
10 Variables objeto en VBA.
¿Qué es una macro en Excel?
Una macro no es más que una serie de instrucciones que se le dan a Excel, para
automatizar una tarea determinada.
Esa serie de instrucciones podemos dárselas de dos formas diferentes:
A través de la grabadora de macros.
A través del editor VBA programando nosotros mismo el código.
Cuando las instrucciones se le dan a través de la grabadora de macros, lo que hace Excel
es grabar todo lo que hacemos en todas y cada una de las hojas de cálculo de nuestro
libro.
De esta forma, Excel genera internamente una serie de código de programación, es decir,
una serie de instrucciones que luego se ejecutarán de forma automática.
Por otro lado cuando somos nosotros los que generamos ese código a través del editor
de VBA, lo que estamos haciendo es programar en Excel con lenguaje Visual Basic y esto
es lo que se llama en informática, crear una macro.
En este manual vamos a centrarnos en la segunda forma, es decir, vamos a crear las
macros nosotros mismos a través del editor VBA. Además vamos a utilizar la versión 2016
de Microsoft Excel.
Preparando Excel para la creación de
macros con VBA.
0
https://www.clasesdeinformaticaweb.com/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 3/23
Antes de ponernos a crear macros, debemos configurar Excel 2016 y mostrar el menú
correspondiente llamado desarrollador. Para ello haremos lo siguiente:
Crearemos una carpeta vacía. Dentro de ella crearemos un archivo de Excel.
Pulsaremos con el botón derecho del ratón en una zona libre de la cinta de opciones
y después en personalizar cinta de opciones.
Nos aparecerá la pantalla de las opciones de Excel, donde marcaremos la opción
“desarrollador” y pulsaremos en aceptar.
Mostrar la pestaña desarrollador en Excel para la creación de macros con VBA.
Después guardaremos el archivo como “Libro de Excel habilitado para macros”.
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 4/23
VBA. Guardar el libro como habilitado para macros
Configurando la seguridad de las macros.
Por defecto en Excel, la configuración de las macros, está deshabilitada con
notificación. Esto se debe a que si utilizamos archivos con macros de terceros, al estar
programadas con VBA, puede que contengan algún tipo de código malicioso, por lo que
es habitual encontrarse que cuando abrimos un archivo que contenga macros, se
deshabilite su contenido.
Esto viene así por defecto porque no hay que olvidar que tanto los virus, malware, incluso
troyanos, son habituales en el desarrollo de software. No solo en Visual Basic para
Aplicaciones, sino también en otros lenguajes de programación, entre otros muchos, por
ejemplo, en java, php o incluso JavaScript.
0
https://www.clasesdeinformaticaweb.com/entornos-de-desarrollo/el-desarrollo-de-software-o-programa-informatico/
https://www.clasesdeinformaticaweb.com/programacion/java-guia-practica/
https://www.clasesdeinformaticaweb.com/programacion/php-guia-practica/
https://www.clasesdeinformaticaweb.com/programacion/javascript-guia-practica/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 5/23
Es importante recordar que nadie está libre de ser infectado por un virus y, mucho más en
los tiempos que corren, ya que con el avance de la tecnología, podemos encontrarnos
virus y troyanos que pueden infectar tablets, teléfonos móviles o incluso Smartwatch.
En nuestro caso, como las macros las vamos a crear nosotros, vamos a cambiar esta
configuración de seguridad. Para ello, haremos lo siguiente:
En el menú archivo de Excel, nos iremos a opciones y pulsaremos en la opción “centro
de confianza.
Seguridad de las macros en VBA Excel.
Acto seguido pulsaremos en configuración del centro de confianza –> Configuración de
macros –> Habilitar todas las macros.
0
https://www.clasesdeinformaticaweb.com/blog/la-tecnologia-como-nos-afecta/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 6/23
Habilitar todas las macros para VBA Excel
Con esto nos evitaremos que aparezcan notificaciones al ejecutar nuestras macros y
además evitaremos que se deshabilite el contenido de las mismas.
Como acceder al editor VBA en Excel.
Para acceder al editor de VBA en excel, podemos hacerlo de dos formas:
Pulsando la combinación de teclas ALT+F11.
Desde la pestaña del desarrollador, pulsando en el botón Visual Basic.
acceso a VBA en excel
Una vez abierto el editor VBA tendremos la siguiente ventana.
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 7/23
Editor de VBA (Visual Basic para Aplicaciones).
Programación Orientada a Objetos en
VBA Excel (POO).
El concepto de la programación orientada a objetos, podemos extenderlo también a
otros lenguajes de programación modernos como java, C#, Python, etc. En este caso, al
igual que estos lenguajes VBA también está orientado a objetos, es decir, se intenta
adaptar los objetos de la vida real al código de programación.
Los objetos en la vida real, tienen:
Unas características, es decir, lo que llamamos en programación unas propiedades o
atributos.
0
https://www.clasesdeinformaticaweb.com/programacion/java-guia-practica/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 8/23
Unos comportamientos, es decir, que es lo que puede hacer el objeto. En este caso
es lo que llamaríamos en programación métodos del objeto.
Vamos a ver una imagen de ejemplo.
Programación Orientada a Objetos en Excel
En este caso si llevamos este concepto a la programación en VBA podemos encontrarnos
con muchos objetos en Excel, por ejemplo el objeto libro, el objeto hoja, el objeto celda,
etc.
En la siguiente imagen vemos un ejemplo de lo que sería el objeto celda.
objeto celda en VBA Excel
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 9/23
En este caso la dirección de la celda de ejemplo con el fondo amarillo, la cual tiene el
valor 392, era la celda F2.
Jerarquía de objetos en VBA Excel.
Al igual que en la vida real los objetos tienen una jerarquía, en la programación orientada
a objetos ocurre lo mismo. Vamos a ver en la siguiente imagen una jerarquía de los
objetos en excel de mayor a menor importancia.
Jerarquía de objetos en excel de mayor a menor importancia.Como podemos ver, las hojas contienen celdas, graficos, tablas dinámicas, etc, es decir,
estos objetos están dentro de una hoja de Excel. A su vez las hojas pertenecen a los libros,
y los libros a la aplicación de excel.
Organización del código en el editor VBA.
En excel, cuando creamos código VBA para nuestras macros, el código se organiza en lo
que llamamos módulos.
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 10/23
Los módulos no son más que contenedores de código donde organizamos nuestras
macros. Para crear módulos lo haremos de la siguiente manera.
Dentro del editor de VBA, nos vamos a encontrar con todos los libros abiertos que
tengamos en ese momento. Como hemos visto anteriormente en la imagen anterior, en
nuestro editor tenemos dos libros. uno llamado interlinkin.xlsx y otro llamado
Macros.xlsm.
Siempre que vayamos a crear módulos para almacenar códigos para nuestras macros,
crearemos el módulo dentro del libro con extensión .xlsm. Así, haciendo clic derecho
sobre VBAProyect(Macros.xlsm), crearemos un módulo pinchando en insertar y luego
en Módulo.
Creación de módulos en vba
Una vez creado nuestro módulo, podemos crear nuestra primera macro. Para ello
debemos crear nuestro un procedimiento. Para ello dentro del módulo escribimos lo
siguiente.
1
2
3
4
5
6
7
8
9
10
11
Sub escribirEnUnaCelda()
 
 ' PRIMERA FORMA DE PONER UN VALOR A UNA CELDA
 
 ' Hacemos referencia al objeto application
 ' y luego al libro, despues al objeto hoja 1
 ' y posteriormente al objeto celda con la
 ' palabra reservada Range. Con value le
 ' ponemos un valor a la celda
 
 Application.Workbooks("Macros") _
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 11/23
Con la primera forma de escribir la macro, estamos haciendo referencia a cada objeto.
Primero a la aplicación de excel, despues al libro llamado Macros, luego a la hoja 1 de ese
libro y por último a la celda A1. Al final escribimos un valor en esa celda.
Con la segunda forma, estamos haciendo referencia a la celda A2, pero en este caso, sería
la celda A2 de la hoja que esté activa en ese momento.
Por otro lado, omitimos el objeto application, ya que se da por supuesta y por tanto no
es necesario escribirla.
Ademas, también omitimos el objeto Workbooks, ya que estamos creando las macros en
ese libro y por otro lado al omitir el objeto WorkSheets, VBA entiende que debe escribir el
texto 2 en la hoja que esté activa en ese momento.
Variables, constantes y tipos de datos en
VBA Excel.
El concepto de variable, es común a todos los lenguajes de programación, la única
diferencia es la forma de declararlas, ya que dependiendo del lenguaje en el que estemos
programando, se declararan de una manera u otra.
En VBA, las variables se declaran de la siguiente manera:
Dim + nombre de variable + As + tipo de dato.
Ejemplo de los tipos de datos en VBA
12
13
14
15
16
17
18
pp ( ) _
 .Worksheets("Hoja1") _
 .Range("A1").Value = "texto uno"
 
 ' SEGUNDA FORMA DE PONER UN VALOR A UNA CELDA
 Range("A2").Value = "texto 2"
 
End Sub
1
2
3
4
Sub tiposDeDatos()
 
 ' NÚMEROS ENTEROS
 0
https://www.clasesdeinformaticaweb.com/programacion/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 12/23
Por un lado cuando programamos con Excel, primero debemos declarar la variable y
después se le dará un valor en la linea siguiente.
Option Explicit. ¿Qué es?
En Excel, también podemos encontrarnos con algunos programadores que inician
variables pero en ocasiones no las declaran. Option Explicit es una cláusula de Excel que
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 ' de 0 a 255
 Dim edad As Byte
 edad = 28
 
 ' de -32768 a 32767
 Dim numero As Integer
 numero = 92
 
 ' números muy grandes
 Dim numeroGrande As Long
 numeroGrande = 1500000
 
 ' NÚMEROS DECIMALES
 
 ' Parte decimal corta. Ej. 3,1415
 Dim decimalCorto As Single
 decimalCorto = 4.15
 
 ' Parte decimal larga. Ej 14,54875115
 Dim decimalLargo As Double
 decimalLargo = 58.48515585
 
 ' TIPO MONEDA
 Dim euros As Currency
 euros = 150.25
 
 ' TIPO OBJETO
 Dim miObjeto As Object
 miObjeto = Worksheets("Hoja2")
 
 ' TIPO STRING (cadenas de caracteres)
 Dim texto As String
 texto = "Hola mundo"
 
 ' TIPO VERDADERO (TRUE) O FALSO (FALSE)
 Dim condicion As Boolean
 condicion = True
 
 ' TIPO DE DATO SIN ESPECIFICAR
 ' NO RECOMENDADO.
 Dim variable As Variant
 variable = Range("A1")
 
End Sub
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 13/23
debemos activar para que en caso de que iniciemos una variable, si ésta no es declarada
anteriormente, nos de un error.
Si estas empezando a programar, es indispensable que la actives, ya que cuando
comiences a programar en otros lenguajes de programación como PHP, java, o
JavaScript, es obligatorio declarar las variables antes de utilizarlas.
Para activa el Option Explicit pulsamos dentro del editor de VBA en Herramientas y
después en opciones y marcaremos la opción requerir declaración de variables.
Declaración de varibles de forma obligatoria en excel
Debemos tener en cuenta que si activamos esta opción cuando ya tenemos abierto un
módulo en el que estamos porgramando, el módulo no funcionaría, debemos copiar el
código de ese modulo, cerrarlo, eliminarlo y después crear uno nuevo. El módulo
quedaría de la siguiente manera:
1
2
3
4
5
Option Explicit
 
Sub declaracionDeVariables()
 
End Sub
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 14/23
Ámbito o visibilidad de variables en VBA Excel.
El ámbito de una variable, se refiere a desde donde es visible, o lo que es lo mismo desde
donde se puede acceder a ella. Por este motivo, las variables pueden declararse dentro de
los siguientes ámbitos.
Local a nivel de procedimiento. Se declara dentro del procedimiento y la variable sólo
funcionará o sólo será accesible en el procedimiento en el que es declarada.
Variable local a nivel de módulo. Se declara dentro de un módulo pero fuera de
cualquier procedimiento. Esto hará que la variable sea visible o accesible desde todos los
procedimientos del módulo donde la variable es declarada.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Option Explicit
 
Sub saludar()
 
 ' Variable declarada como local
 ' a nivel de procedimiento
 Dim nombre As String
 
 nombre = "Pablo"
 
 MsgBox "Hola " + nombre, vbInformation, "Saludo"
 
End Sub
 
Sub despedida()
 
 ' La variable nombre declarada en el procedimiento
 ' saludar() no es accesible o visible desde este,
 ' es decir, no se puede usar.
 
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Option Explicit
 
' Variable declarada como local a nivel de módulo
Dim nombre As String
 
Sub saludar()
 ' Iniciamos la variable
 nombre = "Pablo"
 
 ' Mostramos un cuadro de mensaje con el valor
 ' de la variable nombre declarada como local
 ' a nivel de módulo
 MsgBox "Hola " + nombre, vbInformation, "Saludo"
 
End Sub
 0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 15/23
Publica. Es una variable que es accesible o visible desde cualquier parte de nuestro
proyecto. En este caso en lugar de declarar la variable con lapalabra reservada Dim, la
declararemos con el modificador de acceso Public.
Constantes en VBA Excel.
A diferencia de las variables, una constante no puede cambiar su valor a lo largo del
programa.
17
18
19
20
21
22
23
24
25
26
27
Sub despedida()
 
 ' La variable nombre declarada como local a nivel
 ' de módulo, ahora si es accesible o visible desde este,
 ' es decir, podemos utilizar esa variable
 
 nombre = "María"
 
 ' Mostramos un mensaje para despedirnos
 MsgBox "Hasta luego " + nombre, vbInformation, "Despedida"
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Option Explicit
 
' Variable declarada como pública y accesible
' desde cualquier parte de nuestro proyecto
Public nombre As String
 
Sub saludar()
 ' Iniciamos la variable
 nombre = "Pablo"
 
 ' Mostramos un cuadro de mensaje con el valor
 ' de la variable nombre declarada como local
 ' a nivel de módulo
 MsgBox "Hola " + nombre, vbInformation, "Saludo"
 
End Sub
 
Sub despedida()
 
 ' La variable nombre declarada como local a nivel
 ' de módulo, ahora si es accesible o visible desde este,
 ' es decir, podemos utilizar esa variable
 
 nombre = "María"
 
 ' Mostramos un mensaje para despedirnos
 MsgBox "Hasta luego " + nombre, vbInformation, "Despedida"
End Sub
0
https://www.clasesdeinformaticaweb.com/programacion/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 16/23
Por otro lado, las constantes suelen declararse o bien locales a nivel de módulo o
públicas, ya que cuando se declaran, suelen utilizarse o bien para módulos enteros o en
todo nuestro proyecto.
Además una constante en VBA es imprescindible iniciarla, es decir, darle un valor para que
en el programa no salte ningún error.
Ejemplo de declaración de constantes.
En este caso el guión bajo, como hemos usado ya en otras ocasiones, nos permita hacer
un salgo de línea, aunque VBA considera todo se esta escribiendo en la misma línea.
Arrays o vectores en Visual Basic para
Aplicaciones VBA.
Los arrays o vectores unidimensionales, son un conjunto de elementos, o datos, de un
mismo tipo que se almacenan en la memoria RAM del ordenador. Son considerados
objetos y además cada elemento de esa matriz estará identificada por un índice en
concreto. Es importante tener en cuenta que la primera posición de un array es la posición
cero.
Ejemplo de vectores en VBA Excel.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
 
' Variable declarada como local a nivel de módulo
Const pi As Double = 3.14
 
Sub mostrarConstante()
 
 ' Mostramos un cuadro de mensaje con el valor
 ' de la constante pi declarada como local
 ' a nivel de módulo
 MsgBox "El valor de la constante es " _
 + pi, vbInformation, "Saludo"
 
End Sub
1
2
Sub declararArrays()
 0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 17/23
En este caso, vemos la palabra reservada vbNewLine, esto nos permite crear un salto de
linea dentro de un cuadro Msgbox.
Por otro lado usamos el signo más que nos permite concatenar o unir nuestras cadenas
de texto con el valor de variables u otros objetos.
Matrices de dos dimensiones en VBA.
Las matrices o arrays bidimensionales o de dos dimensiones de declaran igual que los
anteriores con la diferencia que debemos incluir el número de filas y columnas. Para
generar la matriz, usaremos lo que se conoce en vba excel como bucles. En concreto
usaremos un bucle for.
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 ' Declaramos un array
 Dim listaNombres(4) As String
 listaNombres(0) = "Fran"
 listaNombres(1) = "Marcos"
 listaNombres(2) = "Susana"
 listaNombres(3) = "Michelle"
 listaNombres(4) = "Fernando"
 
 ' Mostramos los valores con un cuadro de mensaje
 MsgBox "Los nombres son: " + vbNewLine _
 + listaNombres(0) + vbNewLine + listaNombres(1) _
 + vbNewLine + listaNombres(2) + vbNewLine _
 + listaNombres(3) + vbNewLine + listaNombres(4)
 
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit
 
Sub declararMatrices()
 
 ' Declaramos una matriz de dos dimensiones
 ' que contiene 4 filas y 3 columnas
 Dim listaNumeros(4, 3) As Integer
 
 ' Declaramos dos variables para recorrer
 ' la fila y la columna de nuestra matriz
 Dim fila, columna As Byte
 
 ' Declaramos una variable donde almacenar
 ' un número aleatorio entre cero y cien
 Dim valor As Byte
 
 ' Usamos un bucle for para rellenar
 ' cada fila y cada columna
 For fila = 0 To 4
 
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 18/23
Variables objeto en VBA.
Declarar declaramos variables en excel podemos almacenar en ellas diferentes tipos de
datos: números enteros, decimales, datos de tipo texto, etc. Además de este tipo de
datos, también podemos almacenar en ellas lo que podemos considerar objetos, por
ejemplo celdas, hojas, libros, etc. Esto no solo es es una ventaja a la hora de programar,
sino que simplifica el código de forma considerable.
Ejemplos de variables objeto.
Algunos ejemplos de variables que almacenan objetos en VBA son los siguientes:
Esto nos trae una ventaja considerable a la hora de programar, y es que, cuando el
programa tiene que averiguar una ruta hacia un objeto, en programas complejos, el
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 For columna = 0 To 3
 
 ' Creamos un número aleatorio
 valor = Math.Round(Math.Rnd * 100)
 
 ' lo almacenamos en el array
 listaNumeros(fila, columna) = valor
 
 ' Opcionalmente podemos verlo en la hoja
 ' activa, asi que lo escribimos
 ' en la hoja activa
 Cells((fila + 1), (columna + 1)) = valor
 Next columna
 
 Next fila
 
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
 
Sub variablesObjeto()
 
 ' variable que almacena un objeto tipo celda
 Dim miCelda As Range
 
 ' variable que almacena un objeto tipo hoja
 Dim miHoja As Worksheet
 
 ' variable que almacena un objeto tipo libro
 Dim miLibro As Workbook
 
End Sub
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 19/23
código se ejecuta más lentamente. Vamos a ver un ejemplo de tres formas diferentes.
Trabajando con variables tipo objeto.
En este ejemplo escribiremos un valor en la celda A1 de la hoja 1. Pondremos el valor en
negrita y el colocaremos un fondo rojo a la celda.
En este mismo ejemplo, podemos simplificar nuestro código si declaramos una variable
objeto de tipo celda y diciéndole al programa que esa variable almacene una celda de
una hoja en concreto. Eso lo hacemos de la siguiente manera.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Explicit
 
Sub variablesObjeto()
 
 ' escribimos un valor en la celda A1
 ' de la hoja 1
 Sheets("hoja1").Range("A1").Value = 300
 
 'ponemos el valor en negrita
 Sheets("hoja1").Range("A1").Font.Bold = True
 
 ' le ponemos un fondo
 Sheets("hoja1").Range("A1").Interior.Color = vbRed
 
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub variablesObjeto()
 
 ' Declaramos una variable de tipo celda
 Dim miCelda As Range
 
 ' Almacenamos en la variable miCelda
 ' un nuevo objeto celda, que será la celda
 ' A1 de la hoja 1
 Set miCelda = Sheets("Hoja1").Range("A1")
 
 ' escribimos un valor en la celda A1
 ' de la hoja 1
 miCelda.Value = 300
 
 'ponemos el valor en negrita
 miCelda.Font.Bold = True
 
 ' le ponemosun fondo
 miCelda.Interior.Color = vbRed
 
End Sub
0
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 20/23
Para almacenar un objeto en una variable utilizamos la palabra resetvada Set. En este caso
estamos creando un nuevo objeto de tipo celda y almacenándolo en una variable. En este
caso NO utilizamos la palabra new como ocurre por ejemplo en java.
Teniendo en cuenta esto, podemos incluso utilizar una estructura propia de excel. Esta
estructura es lo que llamamos With – End With, de forma que simplificaría el código un
poco más.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Option Explicit
 
Sub variablesObjeto()
 
 ' Declaramos una variable de tipo celda
 Dim miCelda As Range
 
 ' Almacenamos en la variable miCelda
 ' un nuevo objeto celda, que será la celda
 ' A1 de la hoja 1
 Set miCelda = Sheets("Hoja1").Range("A1")
 
 With miCelda
 
 ' escribimos un valor en la celda A1
 ' de la hoja 1
 .Value = 300
 
 'ponemos el valor en negrita
 .Font.Bold = True
 
 ' le ponemos un fondo
 .Interior.Color = vbRed
 
 End With
 
End Sub
Entradas relacionadas
0
https://www.clasesdeinformaticaweb.com/programacion/java-guia-practica/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 21/23
JavaScript. Guía práctica. PHP. Guía práctica.
Java Guía práctica CSharp Guia práctica de C#
0
https://www.clasesdeinformaticaweb.com/programacion/javascript-guia-practica/
https://www.clasesdeinformaticaweb.com/programacion/php-guia-practica/
https://www.clasesdeinformaticaweb.com/programacion/java-guia-practica/
https://www.clasesdeinformaticaweb.com/programacion/csharp-guia-practica-de-c/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 22/23
SOBRE NOSOTROS.
Java. Guía práctica. CSharp. Guia práctica de C#.
Deja un comentario
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *
NOMBRE *
CORREO ELECTRÓNICO *
WEB
GUARDAR MI NOMBRE, CORREO ELECTRÓNICO Y SITIO WEB EN ESTE
NAVEGADOR PARA LA PRÓXIMA VEZ QUE HAGA UN COMENTARIO.
Publicar comentario
0
https://www.clasesdeinformaticaweb.com/programacion/java-guia-practica/
https://www.clasesdeinformaticaweb.com/programacion/csharp-guia-practica-de-c/
22/9/2019 VBA Excel. Guía práctica. Aprende a crear macros en Excel desde cero
https://www.clasesdeinformaticaweb.com/programacion/vba-excel-guia-practica/ 23/23
Polít ica de cookies
Polít ica de privacidad.
Términos y condiciones
Contacto
Aprende informática desde cero con manuales y guías prácticas
0
https://www.clasesdeinformaticaweb.com/politica-de-cookies/
https://www.clasesdeinformaticaweb.com/politica-de-privacidad/
https://www.clasesdeinformaticaweb.com/terminos-y-condiciones/
https://www.clasesdeinformaticaweb.com/contacto/

Continuar navegando