Sei sulla pagina 1di 21

GUIA PARA LA CREACIÓN DE MACROS

PRÁCTICA SOCIAL

AUTORES:

STEPHANIE CALDERÓN CASTILLO-2903219


SONIA KATHERINE BONILLA CHOQUE-2903317
FABIO ALEJANDRO GARCÍA DEL BUSTO-290339

Guía

Ingeniero Néstor Porcell Mancilla

UNIVERSIDAD MILITAR NUEVA GRANADA

INGENIERÍA INDUSTRIAL

BOGOTÁ

2019
ÍNDICE

Contenido
GUIA PARA LA CREACIÓN DE MACROS PRÁCTICA SOCIAL..................................................1

CREAR UNA MACRO EN EXCEL..................................................................................................3


Botón........................................................................................................................................ 3
Macro Grabada........................................................................................................................ 4
Botón de comandos..................................................................................................................6

CÓDIGOS MÁS COMUNES...........................................................................................................7

NOMBRAR LAS VARIABLES........................................................................................................8


Variables locales y variables globales......................................................................................8
El procedimiento Sub............................................................................................................. 10

FUNCIONES INTEGRADAS VISUAL BASIC...............................................................................10

FUNCIONES ANIDADAS.............................................................................................................. 12
For.......................................................................................................................................... 12
If............................................................................................................................................. 13
Select case............................................................................................................................ 14

ACTIVATE AND SELECT............................................................................................................. 15

PARTICULARIDADES:................................................................................................................. 16

FUNCIONES EN VBA................................................................................................................... 17

EVENTOS A TENER EN CUENTA PARA LIBROS EN EXCEL:..................................................18

EVENTOS A TENER ENCUENTA PARA HOJAS:.......................................................................19

VARIABLES DE DURACIÓN........................................................................................................19

BIBLIOGRAFÍA............................................................................................................................. 21
CREAR UNA MACRO EN EXCEL

1. Para la elaboración de una macro existen varios métodos, de los cuales se explicará
uno de los más fáciles y rápidos a continuación:
Botó n
Por medio de esta opción es posible insertar una imagen e incluso una figura,
con el fin de asignarle una macro como se puede ver en el ejemplo a
continuación
Macro Grabada
Antes de grabar una macro es importante asegurarse de que la ficha “Programador” se encuentre
habilitada, en caso contrario, los pasos a seguir para activarla son:
1. Dar click en archivos.
2. Entrar a opciones
3. Seleccionar “Personalizar cinta de opciones”
4. En el lado derecho (Pestañas principales) seleccionar “Programador”
5. Cuando aparezca un chulo, dar click en aceptar
De esta manera se observará en la barra de tareas la opción de “Programador”, donde se
encuentran opciones como:
 Visual Basic
 Macros
 Grabar macros
 Insertar (desde aquí se pueden generar los botones).

Este método es uno de los más sencillo de utilizar, debido a que las
operaciones que deseas realizar se harán por medio de una grabación previa
que haya realizado el usuario (esté recomienda más que todo para
operaciones, darle color a las celdas que necesita, entre otras operaciones
sencillas). Grabar una macro hace que las acciones que se registren se
traduzcan posteriormente a instrucciones en VBA que se podrán modificar
por medio de lenguaje de programación.
La operación se realiza normal, una recomendación es no salir del Excel en
el que se está grabando la macro, ya que afectaría el resultado final.

Al finalizar el proceso de grabación deberá detener la grabación de la macro.

Nota: Para que la macro pueda ejecutarse correctamente después de cerrar el


archivo, es importante guardar el documento como “MS Excel habilitado para
macros” cuya extensión es .xlsm.
Botó n de comandos
Este tipo de botón funciona de forma diferente, ya que el código no aparecerá en
la opción de barra de herramienta (Macros).

Para modificar el nombre de un botón se debe realizar un doble click en el


botón, mientras que este activado la opción de modo Diseño y seleccionar
la opción de objetivo Botón de comando.
CÓDIGOS MÁS COMUNES

Algunos de los códigos más utilizados en VBA son:


 Trasladarse a una Celda: Range("A1").Select
 Escribir en una Celda: Activecell.FormulaR1C1="Texto deseado"
 Letra Negrita. Selection.Font.Bold = True
 Letra Cursiva: Selection.Font.Italic = True
 Letra Subrayada: Selection.Font.Underline = xlUnderlineStyleSingle
 Centrar Texto: With Selection
.HorizontalAlignment = xlCenter
End With
 Alinear a la izquierda: With Selection
.HorizontalAlignment = xlLeft
End With
 Alinear a la Derecha: With Selection
.HorizontalAlignment = xlRight
End With
 Tipo de Letra (Fuente): With Selection.Font
.Name = "Arial"
End With
 Tamaño de Letra (Tamaño de Fuente): With Selection.Font
.Size = 15
End With
 Copiar: Selection.Copy
 Pegar: ActiveSheet.Paste
 Cortar: Selection.Cut
 Ordenar Ascendente: Selection.Sort Key1:=Range("A1"), Order1:=xlAscending,
Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
 Orden Descendente: Selection.Sort Key1:=Range("A1"), Order1:=xlDescending,
Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
 Buscar: Cells.Find(What:="Nombre", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=
_ False).Activate
 Insertar Fila: Selection.EntireRow.Insert
 Eliminar Fila: Selection.EntireRow.Delete
 Insertar Columna: Selection.EntireColumn.Insert
 Eliminar Columna: Selection.EntireColumn.Delete
 Abrir un Libro: Workbooks.Open Filename:="C:\Mis
documentos\nombrearchivo.xls"
 Grabar un Libro: ActiveWorkbook.SaveAs Filename:="C:\Mis
documentos\archivo1.xls", FileFormat _ :=xlNormal, Password:="",
WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False
NOMBRAR LAS VARIABLES

Al determinar la variable se debe tener en cuenta el tipo de variable, es decir si es un


número entero (Interger), continuo (Double), entre otras variables que se pueden ver en el
siguiente cuadro.

Variables locales y variables globales

Las variables locales son aquellas que se declaran para uso exclusivo de una función o comando,
en cambio, las variables globales son aquellas que se declaran fuera de todos los procesos,
permitiéndole funcionar en cada módulo, función y comando del código de VBA.
Para volver una variable local en variable global, es necesario declarar dicha variable al comienzo
del código sin que se encuentre integrada en alguna función o módulo.
Generación de código desde Visual Basic:
Inicia con el proceso de dirigirse a el espacio de programador, en la indicación “visual Basic”

Se abre una ventana emergente donde se debe estructurar el código:

La ventana del editor muestra todo lo necesario para comenzar a crear una macro.

- La barra de menús: Desde aquí se accede a la mayoría de funciones de VBE para


desarrollar, comprobar y guardar las macros.
- La barra de herramientas estándar: Contiene los botones con los comandos más
utilizados.
- La barra de herramientas de Edición: Aquí se encuentran los comandos más útiles cuando
se está escribiendo el código.
- El explorador de proyectos: Se muestra un árbol con todos los archivos que se encuentran
abiertos, que contienen los componentes de los proyectos.
- Ventana de código: Es la que se emplea para escribir todo el código VBA. Cada elemento
de un proyecto tiene asignada su propia ventana de código.
- La ventana propiedades: permite cambiar las propiedades del objeto seleccionado,
mientras estás en Modo Diseño.
- La ventana Inmediato: Permite probar una instrucción estando en Modo Diseño. No se
muestra por defecto.
- La ventana Locales: Permite comprobar el valor de una variable en cualquier momento de
la ejecución de la macro. Para mostrar esta ventana, debes pulsar el botón Ventana Locales del
menú Ver.
- La ventana Inspección: Permite agregar objetos para ver el valor actual de una variable
cuando estás en Modo Interrupción. Para mostrarla, pulsa el botón correspondiente del menú Ver.
- El Examinador de objetos: Es de gran ayuda para encontrar los objetos, sus propiedades y
métodos asociados.

El procedimiento Sub

Se puede decir que un procedimiento Sub es un conjunto de instrucciones que realizan una serie
de acciones específicas.

Hay dos tipos de procedimientos Sub:

Procedimientos generales: Son los que se declaran dentro de un módulo.


Procedimientos de evento: Se ejecuta automáticamente cuando se produce una determinada
situación o contexto.
Todos los procedimientos Sub comienzan con la palabra Sub seguida del nombre que le quieras
dar, y finalizan con la instrucción End Sub.

Para recordar procesos básicos de programación a continuación se evidencian las funciones y


condicionales más importantes:

FUNCIONES INTEGRADAS VISUAL BASIC

- La función Input Box: Es una función que permite interactuar con el usuario solicitándole
información mientras se ejecuta una macro. Esto se hace mediante un cuadro de diálogo.
Sintaxis de InputBox:
InputBox(Mensaje, Título, Valor por defecto, Posición horizontal, Posición Vertical, Archivo
ayuda, Número de contexto para la ayuda).
Mensaje: Hace referencia al mensaje que se va a mostrar en la ventana.
Título: Hace referencia al título que va a llevar la ventana de InputBox. Es un parámetro de
carácter opcional.
Valor por defecto: Es el valor que se mostrará por defecto el cuadro donde la persona va a
ingresar el valor. Parámetro de carácter opcional.
Posición Horizontal: La posición X de la pantalla donde se va a mostrar el recuadro, teniendo en
cuenta que es la posición desde la parte izquierda. Si se omite, el recuadro se va a presentar de
manera horizontal y centrado a la pantalla.
Posición Vertical: La posición Y de la pantalla donde se va a mostrar el recuadro, teniendo en
cuenta que es la posición desde la parte superior. Si se omite, el recuadro se va a presentar de
manera vertical y centrado a la pantalla.
Archivo Ayuda: Es el archivo que contiene la ayuda para el cuadro. Parámetro de caracter
opcional.
Número de contexto para la ayuda: Es el número asignado que corresponde al identificador del
archivo de ayuda, se utiliza para localizar el texto que se debe mostrar. Si se especifica este
parámetro, es obligatorio especificar el parámetro Archivo Ayuda.
- La función MsgBox: Es la función más utilizada en VBA. Se emplea para obtener una
respuesta simple como Sí o No del usuario y para mostrar mensajes breves como errores
y algún dato relevante para la ejecución de la macro. La función MsgBox hace dos cosas:
Muestra un cuadro de diálogo para darle información al usuario y devuelve un valor del
tipo Integer dependiendo del botón pulsado. Si quieres conocer el botón que se ha pulsado
debes guardar el valor generado en una variable.
Sintáxis de MsgBox.
MsgBox( Mensaje, Botones, Título, Archivo de ayuda, contexto)
Mensaje: Es el mensaje que se va a mostrar dentro del cuadro de dialogo, su uso es de
carácter obligatorio.
Botones: Es de uso opcional, se define como un número o una suma de números o
constantes que sirve para mostrar determinados botones e iconos dentro del cuadro de
diálogo. Si se omite este argumento, se asume un valor de 0 que va a corresponder a un
único botón
Título: Es de carácter opcional, se define como el texto que se mostrará en la barra del
título del cuadro de diálogo.
Archivo de Ayuda: Se usa si se llega a asignar un texto de ayuda al cuadro de diálogo,
aquí se debe especificar el nombre del archivo de ayuda donde está el texto.
Contexto: Se define como el número que sirve para identificar el texto al tema de ayuda
correspondiente que estará contenido en el archivo especificado en el parámetro Archivo
de Ayuda.

- La función de conversión de variables: Cuando utilizas una función de conversión de tipo,


ésta devuelve el valor del dato convertido, pero no cambia el valor almacenado

- Las funciones de comprobación: Este tipo de funciones ayudan al usuario a comprobar el


tipo de dato que contiene una expresión o variable. Estas son las funciones de
comprobación:

IsDate: Comprueba si una expresión se puede convertir en una fecha.


IsNumeric: Comprueba si una expresión contiene un valor que se pueda interpretar como un
número.
IsNull: Comprueba si una expresión contiene un valor nulo.
IsEmpty: Comprueba si una expresión contiene algún valor o todavía no se han iniciado.
IsObject: Comprueba si una variable representa una variable de tipo Object.

- Las funciones matemáticas: VBA también cuenta con funciones matemáticas propias
para realizar operaciones matemáticas y que se pueden emplear en los procedimientos.
Casi todas ellas coinciden con alguna de las funciones de hoja. Te muestro algunas de
ellas:

Abs: Devuelve el valor absoluto de un número.


Int: Devuelve la parte entera de un número decimal.
Rnd: Devuelve un número aleatorio entre 0 y 1.
Sqr: Devuelve la raíz cuadrada de una expresión numérica.

- Las funciones de cadena: VBA también te ofrece muchas funciones que te permitirán
trabajar con variables de cadena. Estas son algunas de las variables de cadena más
utilizadas:

Asc: Devuelve un número enero de 0 que representa el valor ASCII de un carácter.


Chr: Es la función inversa de Asc. Devuelve el carácter correspondiente al código ASCII
introducido.
Len: Devuelve el número de caracteres de una cadena.
Left: Devuelve un número de caracteres determinado desde la parte izquierda de la cadena.
Right: Devuelve un número de caracteres determinado desde la parte derecha de la cadena.
Mid: Devuelve los n caracteres de una cadena especificada, situados a partir de una
determinada posición.

- Las funciones de fecha y hora: Con VBA también puedes realizar operaciones
relacionadas con fechas y horas. Estas son las funciones más utilizadas:

Date: Devuelve la fecha actual del equipo.


Now: Devuelve la fecha y la hora actuales del equipo.
Time: Devuelve la hora actual del equipo.
DateDiff: Devuelve la diferencia entre dos fechas.

FUNCIONES ANIDADAS
Las funciones anidadas ayudan a realizar una acción cuantas veces necesita que el
usuario lo realice.
For
Por medio de esta función es posible realizar una operación cuantas veces lo desee
el usuario, por ejemplo una operación matemática, el análisis de dato y entre otras.

If
Por otra parte se encuentra esta función, la cual sirve para emplear condiciones
es decir se puede comparar dato, realizar operaciones matemáticas aquellos
datos que cumpla con la condición establecida, entre otros
Select case
Esta herramienta tiene similitudes con el IF, sin embargo esta función facilita el
proceso de condición como se muestra en el siguiente ejemplo.
(recomendaciones esta herramienta es muy útil, sin embargo se debe tener en
cuenta la lógica y la función que va cumplir esta herramienta en su programación).

ACTIVATE AND SELECT

Son dos comandos que se diferencian por factores de cantidad; es decir "activate" solo se puede
seleccionar solamente una hoja o una celda, mientras que con "select" se pueden seleccionar
varias celdas u hojas a la vez.
Dentro de estas identificamos unos objetos determinados tales como range y cells en la mayoría
de casos pueden ser utilizados sin distinción alguna, sin embargo, hay casos puntuales donde se
recomienda el uso de uno de los dos, son los siguientes:

Para seleccionar una celda:

Si se quiere seleccionar la celda "A2", se tiene dos opciones.


1. Range("A2").select
2. Cells(2,3).select
cells(i,j) , donde i=fila i ; j=columna j.

Para dar valor a una celda

Si se desea darle valor a la celda "C2" =620, se tiene dos opciones


1. ("C2").value=620
2. Cells(2,3).value=620

PARTICULARIDADES:

Objeto Range: Permite seleccionar más de una celda.


Ejemplo:
range("A1:B5"). Select

Importante entender que el objeto cells, no permite seleccionar más de una celda.

Propiedades de Range
ActiveCell: Devuelve la celda activa de la ventana activa.
Range: Devuelve un objeto Range que representa un rango de celdas.
Cells: Otra forma de hacer referencia a las celdas.
Rows: Devuelve un objeto Range que representa una fila de la hoja.
Columns: Devuelve un objeto Range que representa una columna de la hoja.
Offset: Devuelve un objeto Range desplazado de una referencia un número de filas y de
columnas determinado.
Value: Establece el valor que tiene una celda o rango de ellas.
FormulaLocal: Permite introducir fórmulas y funciones en tu propio idioma, como si lo hicieses
directamente en la hoja.
End: Desplaza la celda activa a la última celda de la fila o la columna.
Font: Establece el tipo de fuente.
Interior: Permite modificar el fondo de la celda.
Border: Permite modificar los bordes de la celda.
Métodos de Range:
Select: Permite seleccionar una celda o conjunto de ellas.
DataSeries: Permite introducir una serie de datos en un rango de celdas.
Copy: Copia un rango de celdas en otra parte de la cuadrícula.
ClearContents: Borra el contenido de las celdas manteniendo su formato.

Objeto Cells: Es compatible con selección de celdas bajo un patrón de formula. La ventaja del
uso del objeto cells, es permitir vincular funciones numéricas al uso de las celdas y/o a su
selección.

Ejemplo:

Se desea conocer la suma que, de la combinación de una fila y columna, entonces se establece
el siguiente programa:

Sub celdasuma ()
For i = 1 To 10 For j = 1 To 10
Cells (i, j). Value = i + j
Next i
Next j
End Sub

De esta forma se conocerá lo propuesto en el ejemplo, asimismo los rangos podrán ampliarse de
acuerdo a lo deseado.

FUNCIONES EN VBA
El uso de funciones en VBA es muy sencillo, solo basta con abrir la hoja de Excel, seleccionar la
pestaña “Fórmulas” y posteriormente en “Insertar función”.
Tras encontrar la función que se desea usar, se selecciona para ver los parámetros que exige
para ejecutarse de manera correcta, posteriormente, se define una variable tal que esta ejecute
la función con sus respectivos comandos.

Tomado de: MS Excel 2007 con Programación de Macros en VBA


EVENTOS A TENER EN CUENTA PARA LIBROS EN EXCEL:
EVENTOS A TENER ENCUENTA PARA HOJAS:

VARIABLES DE DURACIÓN:
Las variables pueden ser: Locales o Públicas Variables Locales.
I. Variables Locales: son las que se declaran dentro de un procedimiento y sus valores sólo
pueden ser utilizados en éste. Para declararlas se utiliza la sentencia Dim.
EJEMPLO:

II. Variables Públicas: Son las que estarán disponibles para todos los procesos, sus valores
pueden ser utilizados en cualquier módulo. Sé declaran como Public, es aconsejable
utilizar un módulo especialmente destinado a la declaración de estas variables lo que
facilitará su ubicación. Si se declararán en un módulo utilizado para otro procedimiento
deberán ser las primeras instrucciones
Ejemplo:
III. Constantes: A diferencia de las variables que modifican sus valores durante la ejecución
de un proceso, las Constantes mantienen su valor. También pueden ser Locales o
Públicas, ejemplo:
BIBLIOGRAFÍA

- https://www.excel-avanzado.com/ejemplos-if-en-vba
- https://www.aprenderaprogramar.com/index.php?option=com_content&view=
article&id=140:tipos-de-variables-en-visual-basic-integer-single-double-string-
object-boolean-etc-ejemplos-cu00308a&catid=37&Itemid=61
- https://www.excel-avanzado.com/vba-excel
- https://ayudaexcel.com/megaguia-macros-vba/
- https://www.excel-avanzado.com/24252/constantes-en-vba.html
- https://excelforo.blogspot.com/2014/04/vba-variables-dim-public-private-y.html
- https://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=140:tipos-de-variables-en-visual-basic-integer-
single-double-string-object-boolean-etc-ejemplos-cu00308a&catid=37&Itemid=61
- https://www.excel-avanzado.com/10865/diferencia-entre-range-y-cells.html
- https://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=140:tipos-de-variables-en-visual-basic-integer-
single-double-string-object-boolean-etc-ejemplos-cu00308a&catid=37&Itemid=61

Acosta, P. (2010). MS Excel 2007 con Programación de Macros en VBA. NA: Saccec.

Potrebbero piacerti anche