
Para numerar secciones o listas automáticamente en Word utilizando VBA, puedes aprovechar las capacidades de macros para automatizar esta tarea. Aquí te presento un ejemplo de cómo podrías escribir un script en VBA para numerar automáticamente los títulos de las secciones en tu documento:
Paso 1: Activar la pestaña «Desarrollador» en Word
- Abre Word.
- Ve a «Archivo» > «Opciones».
- Selecciona «Personalizar cinta de opciones».
- En el panel de la derecha, marca la opción «Desarrollador» para activarla.
Paso 2: Crear una macro en VBA
Sub NumerarSecciones()
Dim parrafo As Paragraph
Dim nivel As Integer
Dim contador() As Integer
Dim i As Integer
' Define el número de niveles de numeración que vas a utilizar
Const nivelesMax As Integer = 3
ReDim contador(1 To nivelesMax)
' Inicializa el contador para cada nivel
For i = 1 To nivelesMax
contador(i) = 0
Next i
' Recorre cada párrafo del documento
For Each parrafo In ActiveDocument.Paragraphs
' Si el formato del párrafo es un título
nivel = parrafo.OutlineLevel
If nivel >= 1 And nivel <= nivelesMax Then
' Aumenta el contador de nivel correspondiente y reinicia los niveles inferiores
contador(nivel) = contador(nivel) + 1
For i = nivel + 1 To nivelesMax
contador(i) = 0
Next i
' Construye el número de sección
Dim numeroSeccion As String
numeroSeccion = ""
For i = 1 To nivel
numeroSeccion = numeroSeccion & contador(i) & "."
Next i
' Añade el número al texto del parágrafo
parrafo.Range.Text = numeroSeccion & " " & Mid(parrafo.Range.Text, InStr(parrafo.Range.Text, " ") + 1)
End If
Next parrafo
End Sub
- Haz clic en la pestaña «Desarrollador».
- Selecciona «Visual Basic» para abrir el editor de VBA.
- En el editor de VBA, ve a «Insertar» > «Módulo» para crear un nuevo módulo.
- Copia y pega el siguiente código en el módulo:
Paso 3: Ejecutar la macro
- Vuelve a Word y selecciona la pestaña «Desarrollador».
- Haz clic en «Macros», elige `NumerarSecciones` y pulsa «Ejecutar».
Notas adicionales:
- Asegúrate de que los estilos de título de Word estén configurados adecuadamente (por ejemplo, Título 1, Título 2, etc.), ya que el código se basa en los niveles de esquema.
- Ajusta `nivelesMax` según el número de niveles que quieras numerar.
- Guarda tu documento antes de ejecutar macros, ya que las modificaciones podrían no ser reversibles.
Este enfoque automatiza el proceso de numeración de títulos, asegurando consistencia en la presentación del documento.
Conoce nuestros servicios



