Professional Documents
Culture Documents
https://es.justexw.com/tutoriales/tutorial-de-visual-basic-para-excel
Excel nos proporciona muchas herramientas para manipular la informacin de la hoja de clculo
pero en ocasiones, deseamos realizar las acciones repetitivas en Excel de una manera ms sencilla
o crear funcionalidades que no estn contempladas en la aplicacin de Office.
Visual Basic funcionar a travs de macros, vistos en el tutorial de Excel avanzado, que nos
permitirn crear tareas automatizadas paso a paso. Este lenguaje de programacin nos servir
para facilitarnos el trabajo y aunque en un primer momento nos puede intimidar el hecho de
aprender a programar en VB, gracias a los ejemplos de VB para Excel podremos conseguirlo de
forma adecuada.
o Por otro lado, para activar el editor de Visual Basic en Excel 2007 podemos seguir
el tutorial de Visual Basic para Excel.
Para crear macros en Excel con Visual Basic seguiremos estas instrucciones:
Con Visual Basic para Excel podremos crear mdulos desde el Editor de Visual Basic para Excel.
Para insertar un mdulo en Visual Basic para Excel seguiremos algunas instrucciones, pudiendo
crear mdulos estndar o mdulos de clases. Los mdulos estndar sern los que utilicemos ya que
los mdulos de clases servirn para representar objetos. Se podrn utilizar las distintas plantillas de
Excel e insertar mdulos en VBA seguidamente.
En Visual Basic podemos utilizar gran parte de las funciones de Excel y llamarlas a travs del
objeto WorksheetFunction en VB. En nuestro ejemplo, veremos cmo llamar a la funcin MAX y
la aplicaremos a un rango de valores, pero podremos emplear el resto de funciones de Excel.
Adems, con las plantillas de Excel daremos formato a la hoja de clculo.
Instrucciones para utilizar las funciones de Excel en
Visual Basic
Si queremos utilizar las funciones de Excel en VB podremos hacerlo siguiendo los pasos para
introducir el cdigo en la hoja de clculo. Por ejemplo, si queremos emplear la funcin MAX para
sacar el nmero mximo de un rango escribiremos el siguiente cdigo en el Editor de Visual Basic:
o Declaracin de la variable Rango que estar formada por el rango de valores del cual
queremos extraer el nmero mximo.
o Asignacin a la variable Rango los valores de A1 aB6 de la Hoja1.
o Aplicar la funcin Max al rango.
o Mostrar el resultado por pantalla.
o Hacer clic con el botn derecho sobre el botn imprimir y seleccionar ver cdigo.
o Automticamente, se aadir la subrutina del botn al hacer clic.
o Borraremos el cdigo y aadiremos el siguiente:
o En el momento en que ejecutemos el cdigo podremos imprimir en Excel aparecindonos el
siguiente cuadro de dilogo.
o Cmo ingresar datos en Excel con Visual Basic
o Te gustara ingresar datos en Excel con Visual Basic? En VBA podremos insertar datos
utilizando el mtodo InputBox que mostrar una ventana emergente a los usuarios para que
puedan rellenar los datos. Si quieres mostrar la ventana para incluir los datos debers utilizar
un mdulo del Editor de Visual Basic. Para ello, previamente habremos aprendido cmo
utilizar VBA con el tutorial de Visual Basic para Excel.
o De esta forma podremos capturar los datos que introduzcan los usuarios y realizar funciones
en Excel operando con los valores de manera fcil y sencilla.
En el Editor de Visual Basic podremos insertar formulario en VBA donde incluiremos distintos
controles que nos ayudarn a solicitar los datos del usuario. Podremos colocar botones, listas
desplegables, texto, etiquetas, cuadros combinados, etc. Adems, podremos emplear las
distintas funciones de Excel para realizar clculos en las hojas de clculo de Excel.
o Adems, podremos insertar los distintos controles del formulario en Excel, desde el men
programador y eligiendo la opcin insertar.
o Activar una hoja en Visual Basic para Excel: para ir a una hoja de clculo de Excel
utilizaremos el siguiente comando en VBA Shetts (Hoja).Select
o Abrir un formulario en Excel con VBA: para abrir un formulario usaremos la siguiente
instruccin NombredelFormulario.show
o Escribir en una celda de Excel: para escribir en una celda de Excel realizaremos la
instruccin Activecell, el nombre de la frmula y el texto que deseamos insertar en la celda.
o Poner negrita en Visual Basic para Excel: la negrita se podr utilizar en Visual Basic
gracias al comando Selection.FontBold=True
o With Selection
o .HorizontalAlignment=xlLeft
o End With
Para crear hojas de Excel con Visual Basic podremos hacerlo a travs de un botn pulsando en el
mismo e insertando de forma automtica una nueva hoja en Excel a travs de la programacin de
Visual Basic. Gracias al tutorial de Visual Basic para Excel podremos utilizar al evento Click de
VBA y generar la hoja de clculo.
o
o A continuacin, podremos abrir un libro de Excel y una hoja determinada de Excel con el
siguiente cdigo de Visual Basic:
o Adems, podremos movernos a la primera hoja del libro con la siguiente instruccin:
o
Con el siguiente tutorial de Visual Basic para Excel podremos guardar un archivo en Excel con
Visual Basic de manera sencilla y utilizando la programacin en VBA para conseguir guardar el
documento en la ubicacin donde nosotros le indiquemos. Para ello, realizaremos una serie de pasos
que nos ayudarn a crear las instrucciones necesarios para guardar en Excel.
En la aplicacin de Office, podremos crear un macro para ordenar datos en Excel con Visual
Basic utilizando el Editor de Visual Basic para insertar el cdigo necesario. Con el mtodo
Sort realizaremos la ordenacin de los datos y en nuestro caso lo emplearemos para ordenar una
columna en Excel despus de haber aprendido las nociones del tutorial de Excel avanzado.
Ordenar datos de una columna en Excel con Visual
Basic
Conseguiremos ordenar datos de una columna en Excel con Visual Basic utilizando un macro
en Excel e insertando el cdigo de VBA para ordenar los datos automticamente. Os explicamos las
instrucciones necesarias para realizar la ordenacin de una columna:
o A partir de los siguientes nombres en la columna A de Excel ordenaremos los datos programando
en VBA.
Visual Basic para Aplicaciones (VBA) permite, entre otras acciones, crear grficos en Excel. Si
quieres aprendercmo hacer grficos en Excel desde Visual Basic podrs seguir el siguiente
tutorial. Adems, crearemos un libro de Excel que contendr el grfico insertado en una hoja de
clculo.
oXL.UserControl = True
End Sub
**************************************************
Nombre de los nmeros
**************************************************
Unidades = Array(, Un, Dos, Tres, Cuatro, Cinco, Seis, Siete, Ocho, Nueve,
Diez, Once, Doce, Trece, Catorce, Quince, Diecisis, Diecisiete, Dieciocho,
Diecinueve, Veinte, Veintiuno, Veintidos, Veintitres, Veinticuatro, Veinticinco,
Veintiseis, Veintisiete, Veintiocho, Veintinueve)
Decenas = Array(, Diez, Veinte, Treinta, Cuarenta, Cincuenta, Sesenta, Setenta,
Ochenta, Noventa, Cien)
Centenas = Array(, Ciento, Doscientos, Trescientos, Cuatrocientos, Quinientos,
Seiscientos, Setecientos, Ochocientos, Novecientos)
**************************************************
Select Case Numero
Case 0
Resultado = Cero
Case 1 To 29
Resultado = Unidades(Numero)
Case 30 To 100
Resultado = Decenas(Numero \ 10) + IIf(Numero Mod 10 <> 0, y +
CONVERTIRNUMEROLETRA(Numero Mod 10), )
Case 101 To 999
Resultado = Centenas(Numero \ 100) + IIf(Numero Mod 100 <> 0, +
CONVERTIRNUMEROLETRA(Numero Mod 100), )
Case 1000 To 1999
Resultado = Mil + IIf(Numero Mod 1000 <> 0, + CONVERTIRNUMEROLETRA(Numero
Mod 1000), )
Case 2000 To 999999
Resultado = CONVERTIRNUMEROLETRA(Numero \ 1000) + Mil + IIf(Numero Mod 1000 <>
0, + CONVERTIRNUMEROLETRA(Numero Mod 1000), )
Case 1000000 To 1999999
Resultado = Un Milln + IIf(Numero Mod 1000000 <> 0, +
CONVERTIRNUMEROLETRA(Numero Mod 1000000), )
Case 2000000 To 1999999999
Resultado = CONVERTIRNUMEROLETRA(Numero \ 1000000) + Millones + IIf(Numero Mod
1000000 <> 0, + CONVERTIRNUMEROLETRA(Numero Mod 1000000), )
End Select
CONVERTIRNUMEROLETRA = Resultado
End Function
o Una vez copiado el cdigo anterior de Visual Basic guardaremos el documento con extensin
.xlsm que habilita los macros en Excel.
o Seguidamente emplearemos la funcin que hemos creado en cualquier celda utilizando la siguiente
sintaxis: =CONVERTIRNUMEROLETRA(A1)
o Al pinchar en aceptar, comenzar la grabacin del macro y realizaremos la accin que deseemos.
o A continuacin, cuando terminemos de llevar a cabo la tarea, detendremos el macro.
o De esta forma, tendremos almacenada la accin y la podremos ejecutar en cualquier momento.
o Para ejecutar el macro iremos a la opcin Macro y seleccionaremos el Macro que queramos.
Si consigues hacer tablas dinmicas en Excel, los datos de tu hoja de clculo cambiarn de forma
dinmica. Con el siguiente tutorial de Excel podrs utilizar las funciones de Excel y las plantillas
de Excel as como aprender a crear tablas dinmicas en Excel de forma fcil y sencilla.
o En nuestro caso, elegiremos la opcin de crear la tabla dinmica en una nueva hoja de clculo.
o A continuacin, en la parte izquierda aparecer la tabla dinmica y en la parte derecha la lista de
campos de la misma.
o Deberemos seleccionar qu campos queremos que aparezcan en el informe de Excel y en qu reas
deseamos que aparezcan.
Los filtros en Excel son de gran ayuda para filtrar la informacin cuando se tiene un gran nmero
de datos. Al filtrar en Excel podremos buscar los datos que cumplan ciertos criterios y mostrar las
filas que cumplen con dichas condiciones. Podrs utilizar las plantillas de Excel y las
distintas funciones de Excel para operar con los datos de la hoja de clculo.
Cmo hacer filtros en Excel
Si queremos aplicar un filtro en Excel podremos seguir el siguiente tutorial de Excel y aprender a
filtrar de forma adecuada. Os recomendamos los siguientes pasos a seguir para realizar un
correcto filtrado de los datos:
o A partir de los siguientes datos, seleccionaremos las 3 columnas para aplicar el filtro.
o En la pestaa inicio, seleccionaremos en el grupo de opciones modificar la opcin ordenar y
filtrar.
o A continuacin, elegiremos la opcin filtro.
o Una vez insertado el filtro aparecer en la primera celda de cada columna una flecha en el lado
derecho de cada celda.
o Si queremos filtrar por el nombre seleccionaremos la flecha de la columna nombre y elegiremos el
nombre por el que queremos filtrar en Excel.
o De esta manera al aceptar el filtro obtendremos slo como resultado las filas que coincidan con el
nombre de Ana.
La validacin de datos en Excel nos sirve para controlar el tipo de informacin que los usuarios
pueden introducir en una celda de Excel. Para validar los datos en Excel podremos emplear las
listas desplegables que nos ayudarn a tener bajo control los datos que escriban los usuarios en la
hoja de clculo. Junto con la validacin de datos en Excelse podrn usar plantillas de
Excel y funciones de Excel.
o Valor buscado: ser el valor a buscar en la primera columna de la tabla. Emplearemos una
referencia a una celda o el texto entre comillas que deseamos encontrar.
o Matriz: rango de valores o tabla que contiene el valor buscado.
o Indicador de columnas: nmero de columna que queremos obtener.
o Ordenado: este argumento es opcional y devolver verdadero o falso, siendo el valor falso una
bsqueda exacta y el verdadero una bsqueda aproximada.
Quiz uno de los mayores hndicaps de Excel es que con este programa no siempre se puede
mover un gran volumen de datos. Los archivos de Excel de gran tamao, como los que superan
los 100 MB de peso, te pueden provocar fallos de apertura o guardado, a veces funcionan muy
lentos y el resultado es que te impiden trabajar con ellos al ritmo deseado. Adems, puedes
tener problemas a la hora de enviar un Excel muy pesado por e-mail, as que vamos a descubrir
4 mtodos para reducir el tamao de un archivo de Excel.
En caso de que no puedas sigue este itinerario: Disco C > Organizar > Opciones de carpeta y
bsqueda y en la ventana emergente que te saldr ves a Ver y desmarca Ocultar las extensiones de
archivo para tipos de archivo conocidos y Aceptar).
Al descomprimir el archivo de Excel comprimido (con WinZip, WinRar, etc.) te aparecern tres
archivos. Selecciona los cuatro a la vez y comprmelos con la misma herramienta que utilizaste
para descomprimirlos. Ahora haz el cambio de extensin a la inversa, de .zip a .xlsx. El tamao
del archivo se habr reducido ms de un 10%, un porcentaje a tener en cuenta pese a ser el mtodo
menos efectivo ya que nos permitir mantener el archivo tal cual estaba antes de reducirle el
tamao, no como los dos mtodos que veremos a continuacin.
4. Eliminar formatos
Una efectividad similar tiene nuestro siguiente mtodo, suprimir los formatos de las celdas de
Excel en uso. Es verdad que, estticamente hablando, los formatos le dan otro aire mucho ms
interesante al Excel y que nos pueden ayudar a leer el archivo o encontrar datos, pero a la hora
de la verdad lo que ms nos interesa es trabajar de forma eficiente. Eliminando el color de las
celdas y fuentes, negritas y formatos similares podemos reducir el tamao del Excel en torno a
un 20%.
Adems, puedes combinar estos mtodos, eliminando formatos y celdas sin uso o comprimiendo
mejor el archivo, aunque el mtodo ms efectivo sigue siendo guardarlo como un Excel
binario. Otra manera de reducir el tamao de un Excel es optimizar las imgenes o
grficas que incluyas para que ocupen menos espacio, o directamente suprimir las que no utilices o
sean prescindibles para el trabajo que ests realizando.