Útiles Word Excel » Códigos para macros
Códigos para macros de Visual Basic (vba) en Excel y Word
Actualizado: 09 de enero del 2025
Por: Norfi Carrodeguas
Por: Norfi Carrodeguas
Codigos para crear macros copiando y pegando en el editor de VBA en word y excel. Ejemplos prácticos. Cambiar el formato de párrafos, imprimir, insertar imágenes, comentarios y muchas otras acciones, que en ocasiones requieren varios pasos.

Sencilla recopilación de algunos códigos para crear macros en Word, Excel y otras aplicaciones incluidas en la suite de Microsoft Office.
Solo es necesario copiarlos y pegarlos en el editor de VBA incluido en estos programas, para crear los macros.
El objetivo es facilitar la creación de macros que pueden resultar muy útiles para la ejecución de diversas tareas.
También incentivar y estimular los que les agrada crear sus propias aplicaciones y configurar el programa que utilizan de forma personal.
¿Cómo usar los códigos para crear las macros?
En otro artículo publicado en este sitio se explica en detalle el proceso de creación de las macros en los programas de Microsoft Office de las dos formas posibles, usando la "Grabadora de macros" y el "Editor de Visual Basic".
En esta página solo iremos publicando y compartiendo los códigos que llegan a nuestras manos o creamos para nuestro uso personal, que se pueden insertar directamente en el editor de VBA y así crear macros.
Solo es necesario copiar el código, abrir el editor usando las teclas ALT + F11 y pegar.

Posteriormente abrir la ventana "Macros" (teclas ALT + F8), seleccionar la macro creada y ejecutarla.
Lógicamente es posible asignar a cada macro un icono y situarlo en la Barra de rápido o una combinación de teclas.
Códigos para crear macros en Word
Ejemplos de acciones elementales
Algunos de los macros pueden ser sumamente sencillos.
Experimenta con los siguientes códigos y modifícalos a tu gusto.
Cualquier cambio hecho en el editor, toma efecto inmediatamente.
Para conocer más de la estructura del código, puedes crear macros usando la "Grabadora de macros" y posteriormente observar el código en el "Editor de VBA".
Cambiar formato
El siguiente macro cambia el formato del texto seleccionado.
Sub for1()
' Cambiar tamaño de la fuente
Selection.Font.Size = 20
' Cambiar el tipo de fuente
Selection.Font.Name = "Britannic Bold"
' Poner texto en negrita
Selection.Font.Bold = wdToggle
' Poner texto en italic
Selection.Font.Italic = wdToggle
' Darle el color rojo
Selection.Font.Color = wdColorRed
End Sub
' Cambiar tamaño de la fuente
Selection.Font.Size = 20
' Cambiar el tipo de fuente
Selection.Font.Name = "Britannic Bold"
' Poner texto en negrita
Selection.Font.Bold = wdToggle
' Poner texto en italic
Selection.Font.Italic = wdToggle
' Darle el color rojo
Selection.Font.Color = wdColorRed
End Sub
Para alinear el texto usa:
' Alinear texto a la izquierda:
Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
' Alinear texto a la derecha:
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
' Centrar texto:
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
' Texto justificado completo
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
Para seleccionar todo el texto usa:
Selection.WholeStory
' Alinear texto a la izquierda:
Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
' Alinear texto a la derecha:
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
' Centrar texto:
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
' Texto justificado completo
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
Para seleccionar todo el texto usa:
Selection.WholeStory
Cambiar estilo del texto
Otro método recomendado:Public Sub Editar()
With Selection.Font
.Name = "Arial"
.Size = 10
End With
End Sub
Insertar texto
Para insertar cualquier texto predeterminado en el punto de inserción del cursor del ratón usa:Sub SustT()
Selection.TypeText Text:="este texto"
End Sub
Códigos para copiar y pegar
Para copiar cualquiera de los códigos da un clic en el cuadro de texto que los contienen y usa las teclas CONTROL + C.
En los códigos las líneas antecedidas de una comilla (‘), en el editor se muestran de color verde, son solo comentarios.
Imprimir todos los documentos abiertos
Macro que nos permite enviar a la impresora de una vez, todos los documentos de Word que tengamos abiertos.Sub ImprimirTodo()
Dim doc As Document
For Each doc In Documents
doc.PrintOut
Next doc
End Sub
Vista previa de impresión al 100%
En las versiones recientes de Word al decidir imprimir un documento se abre la ventana de vista previa con la barra de opciones a la izquierda, por lo que la vista previa del resultado final de la impresión se muestra reducida.Usando el siguiente macro la vista previa se mostrará al 100%, pasando las opciones de impresión a la parte superior como en versiones anteriores.
Sub ImpPrevia()
ActiveDocument.PrintPreview
ActiveWindow.View.Zoom = 100
End Sub
Imprimir todos los documentos que están en una carpeta
Macro para imprimir todos los documentos que se encuentren en el interior de una carpeta especifica.Los que imprimen regularmente solo necesitan copiar a dicha carpeta, creada para ese fin los documentos.
Se debe especificar el código la ruta absoluta a dicha carpeta.
Sub ImpAllCarpeta()
Dim sMyDir As String
Dim sDocName As String
'La ruta a la carpeta.
sMyDir = "C:\s\NombreDe\Desktop\Carpeta"
sDocName = Dir(sMyDir & "*.DOC")
While sDocName <> ""
Application.PrintOut FileName: = sMyDir & sDocName
sDocName = Dir()
Wend
End Sub
Pegar texto sin formato
Al copiar y pegar texto desde una página web a un documento de Word, se mantendrá el formato de origen, lo que puede ser molesto. Es necesario antes de pegar escoger: "Pegado especial > Texto sin formato".La siguiente macro permite hacer lo anterior con una sola instrucción o botón.
Sub PegarTSF()
On Error GoTo oops
Selection.PasteSpecial _
DataType:=wdPasteText, _
Placement:=wdInLine
End
oops:
Beep
End Sub
Insertar imágenes desde una cámara o escáner
En las versiones recientes de Word no se incluye la opción: "Insertar –> Imagen –> Desde escáner o cámara".Es necesario abrir previamente la Galería Multimedia, agregar la imagen y solo después en Word usar: "Insertar –> Imágenes prediseñadas".
La siguiente macro permite insertar directamente cualquier imagen directamente desde una cámara o un escáner conectado, al igual que en Office 2003.
Sub IImagen()
On Error Resume Next
Application.CommandBars.FindControl(ID:=1764).Execute
End Sub
Encerrar texto entre comillas
Inserta comillas al comienzo y final del texto seleccionado.De forma similar se puede usar la macro para encerrar texto entre comillas simples, paréntesis, llaves o corchetes, con solo modificar el código.
Sub Comillas()
Selection.InsertAfter """"
Selection.InsertBefore """"
End Sub
Encerrar texto entre paréntesis
Inserta paréntesis al comienzo y final del texto seleccionado.Sub Parentesis()
Selection.InsertAfter ")"
Selection.InsertBefore "("
End Sub
Cambiar el formato al texto entre paréntesis
Poner en italic y dar color rojo al texto que se encuentre encerrado entre paréntesis.Sub TeP()
Dim char As Object
Dim bIn As Boolean
bIn = False
Selection.HomeKey Unit:=wdStory
For Each char In ActiveDocument.Characters
If char = "(" Then
bIn = True
ElseIf char = ")" Then
bIn = False
Selection.Font.Italic = wdToggle
Selection.Font.Color = wdColorBlack
End If
Selection.MoveRight Unit:=wdCharacter, Count:=1
If bIn Then
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Font.Italic = wdToggle
Selection.Font.Color = wdColorRed
End If
Next
End Sub
Listar todas las fuentes instaladas
Interesante macro que permite crear en un nuevo documento un listado de todas las fuentes instaladas en el sistema, con una vista previa de cada una.Lista útil para tener a mano o imprimir.
Sub ListarFuentes()
Dim J As Integer
Dim FontTable As Table
Set NewDoc = Documents.Add
Set FontTable = NewDoc.Tables.Add(Selection.Range, FontNames.Count + 1, 2)
With FontTable
.Borders.Enable = False
.Cell(1, 1).Range.Font.Name = "Arial"
.Cell(1, 1).Range.Font.Bold = 1
.Cell(1, 1).Range.InsertAfter "Font Name"
.Cell(1, 2).Range.Font.Name = "Arial"
.Cell(1, 2).Range.Font.Bold = 1
.Cell(1, 2).Range.InsertAfter "Font Example"
End With
For J = 1 To FontNames.Count
With FontTable
.Cell(J + 1, 1).Range.Font.Name = "Arial"
.Cell(J + 1, 1).Range.Font.Size = 10
.Cell(J + 1, 1).Range.InsertAfter FontNames(J)
.Cell(J + 1, 2).Range.Font.Name = FontNames(J)
.Cell(J + 1, 2).Range.Font.Size = 10
.Cell(J + 1, 2).Range.InsertAfter "ABCDEFG abcdefg 1234567890"
End With
Next J
FontTable.Sort SortOrder:=wdSortOrderAscending
End Sub
Insertar un comentario
Permite insertar un comentario predeterminado en el punto de inserción o sea donde se situe el cursor del ratón en un documento.Sustituye en el código "COMENTARIO" por lo que debe aparecer.
Sub Coment()
Dim MyText As String
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
MyText = "COMENTARIO"
Selection.Comments.Add Range:=Selection.Range, Text:=MyText
End Sub
Insertar un símbolo determinado en un documento
Usa la macro siguiente para insertar cualquier símbolo en el punto de inserción.En este caso se inserta un corazón, pero puede hacerse con cualquier otro símbolo especificando en el código su número decimal y la fuente de ser necesario.
Es posible insertar caracteres Unicode.
Usa la herramienta Símbolos de Word para identificarlos.
Sub InsertCorazon()
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
Selection.InsertSymbol CharacterNumber:=9829, _
Font:="Arial", Unicode:=True
End Sub
Ventana de alerta con la fecha de hoy
Sub Fecha()
MsgBox "Hoy es: " & Format(Now(), "dd-mm-yyyy")
End Sub
Insertar fecha en el documento
Sub Fecha()
ActiveCell.Value = Now
End Sub
Despues es necesario definir el formato de la fecha en Formato de celdas. Sub IFecha2()
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
Selection.InsertDateTime DateTimeFormat:="MMMM dd, yyyy", _
InsertAsField:=False
End Sub
Macro para ir a un lugar del documento
Es necesario insertar previamente un marcador en el lugar exacto.Posteriormente crear el macro indicando el nombre dado al marcador, en este ejemplo "inicio".
Sub inicio()
Selection.GoTo What
End Sub
Macro para ir al inicio o final del documento
El siguiente macro permite ir al inicio del documento, de la misma forma que si presionamos la tecla HomeKey del teclado.Para ir al final del documento usa EndKey.
Sub HomeKey()
Selection.GoTo What
End Sub
Ejecutar los macros de forma automática
Podemos crear macros que se ejecuten automáticamente, son llamadas AutoMacros.
Para eso es necesario crearlas y darles un nombre específico.
Son las siguientes:
AutoExec. Se ejecuta al abrir Word.
AutoExit. Se ejecuta al cerrar Word.
AutoOpen. Se ejecuta cuando se abre un documento desde la plantilla donde tenemos la macro.
AutoClose. Se ejecuta cuando se cierra un documento desde la plantilla donde tenemos la macro.
AutoNew. Se ejecuta cuando se crea un nuevo documento desde la plantilla donde esta la macro.
AutoExit. Se ejecuta al cerrar Word.
AutoOpen. Se ejecuta cuando se abre un documento desde la plantilla donde tenemos la macro.
AutoClose. Se ejecuta cuando se cierra un documento desde la plantilla donde tenemos la macro.
AutoNew. Se ejecuta cuando se crea un nuevo documento desde la plantilla donde esta la macro.
Mas información en Microsoft sobre el lenguaje VBA usado en Macros: Getting started with VBA in Office
Páginas relacionadas
✓ Macro de Word para crear etiquetas o hashtags para redes sociales
✓ Como crear y grabar macros en Word y Excel, ejemplos prácticos
✓ Trucos para Microsoft Word, uso, tips, configuración, ayuda y consejos
✓ Trucos para Microsoft Word, utilidades, curiosidades y secretos
✓ Cómo recuperar documentos perdidos que no se guardaron en Word
✓ Como abrir, reparar y recuperar archivos y documentos dañados de Word
✓ Como usar el diccionario de Word en otro equipo o instalación
✓ Microsoft Word, opciones predeterminadas
✓ Como crear y grabar macros en Word y Excel, ejemplos prácticos
✓ Trucos para Microsoft Word, uso, tips, configuración, ayuda y consejos
✓ Trucos para Microsoft Word, utilidades, curiosidades y secretos
✓ Cómo recuperar documentos perdidos que no se guardaron en Word
✓ Como abrir, reparar y recuperar archivos y documentos dañados de Word
✓ Como usar el diccionario de Word en otro equipo o instalación
✓ Microsoft Word, opciones predeterminadas
Comparta esta página
Facebook
Twitter