100% encontró este documento útil (3 votos)
777 vistas28 páginas

Ejemplos de Macros en Excel

Este documento presenta 10 ejemplos de macros esenciales en Excel. 1) Mostrar un mensaje, 2) Ejecutar una macro al abrir la hoja de cálculo, 3) Escribir la fecha y hora actual. Los otros ejemplos incluyen realizar acciones en celdas seleccionadas, cambiar el color de celdas al pasar el ratón, cambiar el color del interior y las fuentes, crear una macro que habla, y proteger hojas de cálculo con inicio de sesión y contraseña. El documento explica cómo crear estas macros para automat

Cargado por

eric
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (3 votos)
777 vistas28 páginas

Ejemplos de Macros en Excel

Este documento presenta 10 ejemplos de macros esenciales en Excel. 1) Mostrar un mensaje, 2) Ejecutar una macro al abrir la hoja de cálculo, 3) Escribir la fecha y hora actual. Los otros ejemplos incluyen realizar acciones en celdas seleccionadas, cambiar el color de celdas al pasar el ratón, cambiar el color del interior y las fuentes, crear una macro que habla, y proteger hojas de cálculo con inicio de sesión y contraseña. El documento explica cómo crear estas macros para automat

Cargado por

eric
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 28

10 ejemplos de macros

esenciales en Excel
por
Rafael Ávila
-
7/27/18

31
35874
Para aprovechar toda la potencia que el Excel es necesario utilizar
macros. La macro se puede definir como una serie de comandos (en
secuencia), que pueden ser clics, toques en el teclado o incluso
pequeñas líneas de códigos con funciones más avanzadas. Estas
secuencias se graban en un módulo VBA y se ejecutan siempre que sea
necesario.

El principal beneficio de una macro es la ganancia de tiempo que


proporciona, después de que ella automatiza algo que tendría que ser
hecho de forma manual en diversas etapas. Muy utilizadas cuando es
necesario ejecutar varias veces el mismo conjunto de tareas.

Una macro se puede crear de dos formas distintas:

 Uso de la grabadora de macros: En este procedimiento, Excel almacena cada


acción que formará parte de la macro, después la grabadora de macro convierte
estas acciones en comandos de Visual Basic para Aplicaciones (VBA).
 Uso de VBA: Si usted entiende un poco de programación o incluso domina el
lenguaje VBA, puede crear sus macros por su cuenta. Para ello basta con utilizar
el editor de VBA presente en las versiones más recientes de Microsoft Excel.

Como se dijo anteriormente es posible realizar una infinidad de


operaciones con las macros, sin embargo hay algunas que se destacan
de las demás por ser más utilizadas en el día a día. Vea 10 macros que
le ayudarán con sus hojas de cálculo.

1) Mostrando un mensaje
Sólo tienes que insertar en tu macro el comando MsgBox. En el ejemplo
siguiente:
MsgBox "texto del mensaje"
Esta línea de código se puede insertar en cualquier macro, muy útil en
los casos donde se hace necesario emitir advertencias al usuario de la
hoja de trabajo que está ejecutando la macro.

2) Ejecutar una macro al abrir la hoja de


cálculo
Hay casos donde la macro debe abrirse junto con la hoja de cálculo. En
este caso basta con montar una macro con el parámetro Auto_Open ().
En el ejemplo

Sub Auto_Open ()
MsgBox "Para saber todo sobre Excel, visite www.https: //luz.vc/"
End Sub

En el ejemplo anterior, una vez que la hoja de cálculo se abre un


mensaje aparecerá. No se olvida de habilitar las macros en su Excel.
3) Hoja de trabajo con fecha y hora actual
Puede escribir la fecha y la hora actual en la hoja de cálculo. El siguiente
ejemplo inserta estos datos en la celda A1, vea.

Sub escribirDataEHora ()
Range ("A1") = Now
End Sub
4) Realice la misma acción en cada celda
seleccionada
En algún momento usted necesitará ejecutar una acción en las células
que fueron seleccionadas por el usuario. Para ello, cree una macro igual
al ejemplo siguiente.
Sub hacerAlgoACadaCelula ()
For Each cell In Selection.Cells
MsgBox cell
Siguiente
End Sub
5) La misma cosa en todas las celdas
seleccionadas
Usted puede hacer la misma macro anterior pero de forma un poco más
amplia, o sea que la acción no se realizará en etapas. El ejemplo
siguiente escribe "Hola" en todas las celdas.

Sub hacerAlgoATodasAsCelulas ()
Selection.Cells.Value = "Hola"
End Sub
Usted puede hacer una infinidad de inserciones en el código, como por
ejemplo cambiar el color del texto, el tamaño de fuente, el tipo de
fuente y mucho más.

6) Identificación de las fórmulas dentro de


cada celda
Es muy recomendable verificar si hay algo dentro de la celda, siempre
que sea necesaria una modificación de la celda. En este ejemplo
comprobar si existe alguna fórmula en la celda en cuestión.

Sub comprobarFormula ()
("A1"). HasFormula = True Then
MsgBox "Hay Fórmula"
otro
MsgBox "no es una fórmula"
Si terminar
End Sub
7) Cambiar el color de la celda al pasar el
ratón
También es posible que desee proporcionar más interactividad con los
usuarios de la hoja de cálculo. Lo ideal es que la interactividad tenga el
objetivo de facilitar el servicio y visualización de las informaciones. La
siguiente macro es un ejemplo de cómo puede hacer que su tabla
muestre las celdas con el mismo tono de color cada vez que el ratón
pasa por un dado que correlaciona estas celdas.

Sub hoja de trabajo privada_Cambio de selección (rango de destino


ByVal)

Dim LineInicio Las Range


Dim Línea A Range
Dim Línea2 As Long

Cells.Interior.ColorIndex = xlNone

Línea2 = Target.Row

Set LineInicio = Range ("A" y Línea2, Target)

'Pinta de la celda seleccionada hasta la columna 5


Set Line = Range (Cells (Target.Row, 1), Cells (Target.Row, 5))

Con línea
.Interior.ColorIndex = 12
End With

End Sub
8) Cambiando el color del interior y de las
fuentes
Esta macro, cambia los colores en el interior y en la fuente de las celdas,
de acuerdo con la letra de las celdas.

Sub Colorir_fonte_interior_letra ()
Para N = 1 TO Range ("O65536") End (xlUp) .Row

Select Case Range ("O" & N)


Case "A"
Range ("O" & N) .Interior.ColorIndex = 3
Range ("O" & N) .Font.ColorIndex = 1

Case "B"
Range ("O" & N) .Interior.ColorIndex = 4
Range ("O" & N) .Font.ColorIndex = 2

Case "C"
Range ("O" & N) .Interior.ColorIndex = 5
Range ("O" & N) .Font.ColorIndex = 3

Case "D"
Range ("O" & N) .Interior.ColorIndex = 7
Range ("O" & N) .Font.ColorIndex = 12

Caso Else
Range ("O" & N) .Interior.ColorIndex = 6
Range ("O" & N) .Font.ColorIndex = 4
Fin Seleccionar

Siguiente N

End Sub
9) Macro que habla
Ya pensó que interesante tener una hoja de trabajo que habla los datos
contenidos en ella, es exactamente eso que esa macro hace. En el
ejemplo siguiente la hoja de cálculo tenía palabras que iban desde la
celda A1 hasta la A5, pero usted puede elegir el intervalo que le parezca
más conveniente, para eso basta con cambiar el A1: A5 presentes en el
código abajo, por el intervalo que prefiera.

Sub ExcelFalando ()

("A1: A5").

End Sub
10) Proteger hojas de cálculo con inicio de
sesión y contraseña
Si has leído hasta aquí, nada más justo que ser sorprendido con otro
elemento en esa lista. Y, se trata de una macro que usted puede tener
acceso ahora mismo. Muchas personas tienen problemas a la hora de
restringir datos en una hoja de cálculo a la hora de compartirla con
socios, colaboradores, etc.

Por eso, creamos una macro lista para restringir fichas a través de login
y contraseña en hojas de cálculo. Puede crear usuarios y definir qué
pueden tener acceso a determinadas hojas de cálculo. Vea los ejemplos
siguientes:
Para tener acceso a Plantilla para Crear Login y Contraseña en otras
hojas de trabajo, haga clic aquí!

Estos son sólo algunos ejemplos de macros que puede utilizar en el día a
día. Es importante recordar que toda macro es un mini programa y por
eso es fundamental tener cuidado para no ejecutar cualquier tipo de
macro, principalmente si viene en hojas de terceros.
¿Y usted ya usa alguna macro en su cotidiano? ¡Comparta con
nosotros su experiencia dejando un comentario o poniéndose en
contacto!

¿Tienes alguna duda? Entre en el Foro de Excel de LUZ y enviar su


pregunta!

 TAGS

 VBA

artículo anteriorCómo crear una base de datos en Excel


Siguiente artículoBeneficio real o presumido: La hoja de trabajo en acción

Rafael Ávila
Administrador y turismólogo, apasionado por las posibilidades que el Excel da para gestores, emprendedores y
estudiantes. Es socio director del área de plantillas en LUZ - Hojas Empresariales (luz.vc) y es el responsable del
desarrollo de las más de 150 planillas con enfoque empresarial y personal comercializadas en su sitio. También
ministra los cursos en línea de Excel (cursos.luz.vc) y le gusta ayudar a miles de planillas a través del Foro y Blog de
LUZ.

ARTÍCULOS RELACIONADOSMás del autor


Gestión de la práctica
Cómo restringir el acceso a las pestañas de una hoja de trabajo para diferentes usuarios?

Excel
Cómo realizar una macro para ver la impresión

Excel
Cómo crear una base de datos en Excel
31 COMENTARIOS

1. Rafael Ávila 20/09/2018 at 15:13

Hola Armando, es posible hacer via macro sí. Pero si lo desea,


puede utilizar la función HIPERLINK con INDIRECTO y
CONCATENAR para adjuntar textos que formen el enlace
correcto y se abran automáticamente

2. Armando 18/09/2018 at 16:02


En el caso de que se produzca un cambio en las condiciones de
vida de los habitantes de la tierra, y el billar es tedioso. Mis
archivos pdfs escaneados se llaman igual (oficio2015_001) y
se encuentran en la misma carpeta, solo cambia el número.
¿Puede acumular una macro para generar los hipervínculos de
manera masiva?

3. Rafael Ávila 20/08/2018 at 09:07

Oi Leandro, el VBA tiene una gama de posibilidades muy


grande. No sé cuál es su conocimiento, pero si es inicial,
recomiendo nuestro curso - https://cursos.luz.vc/curso/curso-
de-vba-para-excel/

4. Leandro M. Barbosa 13/08/2018 at 16:40

Estoy retirado desde 2016, pero en mi último empleo un


compañero de trabajo creó una hoja de cálculo de Excel que
importaba algunos datos de determinados productos
comercializados por la empresa, directamente del programa
gestor de facturas que utilizábamos. Yo hacía lo mismo a
través de la aplicación Firebird 2.5 que nos había
proporcionado un analista de sistemas, pero no sabía que esto
era posible también a través de Excel utilizando macros y VBA.
¿El Rafael Ávila puede darme alguna información sobre el
asunto?

5. Rafael Ávila 02/08/2018 at 17:18

¿Habla Pedro, todo bueno? Nosotros nunca nos preocupamos


por eso porque las plantillas demostrativas, además de las
contraseñas (que pueden ser quebradas eventualmente con
uso de VBA por personas de mala fe), todavía tenemos otros
mecanismos de protección que los hacen ser poco útiles
incluso después de haberlos la protección perdida. A pesar de
eso, agradezco el toque y he ajustado el post aquí =]

6. Pedro 28/07/2018 at 17:01

Chico que dispara en el pie exponer el VBA que rompe las


contraseñas de las hojas. Las plantillas de demostraciones de
este sitio son todas protegidas con contraseñas ...

7. Carlos Valdez 17/05/2018 at 16:16

He probado esta macro aquí y resolvió, cualquier duda puede


entrar en contacto.

Sub Color ()
'Cheque cuántas celdas en un intervalo están en el color de la
celda A1

Dim Color As Variant 'Crea la variable que reconocerá el color
de la celda de referencia
Dim i, j As Long 'Crea las variables de fila y columna
Dim prueba As Integer
Dim Contador As Integer
Dim L_in, L_fin, Col_in, Col_fin As Integer 'Crea las variables
que representaron el rango de análisis

Selecciona la celda de referencia


Range ( "A1"). Seleccionar
Reconoce el atributo de color de la celda de referencia
Color = Range ("A1"). Interior.Color

L_in = Range ("F2").


L_fin = Range ("G2").
Col_in = Range ("F3").
Col_fin = Range ("G3").
i = L_in
Contador = 0
Do While i <= L_fin

j = Col_in
Do While j <= Col_fin

Si Cells (i, j) .Interior.Color = Color Then


prueba = 1
Else: prueba = 0

Si terminar
Contador = Contador + prueba
j=j+1
Lazo

i=i+1
Lazo

("A1"). Valor = Contador

End Sub

8. Carlos Valdez 17/05/2018 at 15:45

Esta macro resuelve su problema.

Sub Macro_EDSON ()

Macro_EDSON Macro
"macro que copie la columna K de una hoja de cálculo" NEW
DIGITA "y pegue en otra hoja de cálculo" RELATORIO "en la
columna A1 y al día siguiente copiar la misma columna ke
pegar en la siguiente columna B1

Dim v As Worksheet
Dim w As Worksheet
Dim contador As Integer

Set v = Worksheets ("NEW_DIGITA")


Set w = Worksheets ("RELATORIO")
Sheets ( "NEW_DIGITA"). Select
Sheets ( "NEW_DIGITA") Columnas ( "K K") .. Copiar

Sheets ( "Report"). Select

Range ( "A1"). Seleccionar


Selection.End (xlToRight) .select
ActiveCell.Offset (0, 1) .Seleccione
ActiveSheet.Paste
Selection.PasteSpecial Paste: = xlPasteAllUsingSourceTheme,
Operation: = xlNone _
, SkipBlanks: = False, Transpose: = False
Selection.PasteSpecial Paste: = xlPasteValues, Operation: =
xlNone, SkipBlanks _
: = Falso, Transposición: = Falso

Range ( "A1"). Seleccionar

Sheets ( "NEW_DIGITA"). Select


Application.CutCopyMode = False
v.Range ( "K1"). Seleccionar

End Sub

También podría gustarte