Cómo corregir el error de compilación de VBA en Word: ‘método o miembro de datos no encontrado’
🔍 WiseChecker

Cómo corregir el error de compilación de VBA en Word: ‘método o miembro de datos no encontrado’

Cuando presionas Alt+F11 para abrir el Editor de VBA en Word y ejecutas una macro, es posible que veas una ventana emergente que dice Error de compilación: Método o miembro de datos no encontrado. Este error detiene la ejecución de tu macro y resalta una línea de código en amarillo. La causa raíz suele ser una referencia de objeto faltante, un error tipográfico en el código o una referencia rota a una biblioteca o complemento. Este artículo explica por qué ocurre este error y proporciona soluciones paso a paso para resolverlo, incluyendo verificar referencias, corregir la sintaxis del código y reparar proyectos corruptos.

Conclusiones clave: Resolviendo el error de compilación de VBA en Word

  • Herramientas > Referencias en el Editor de VBA: Verifica si hay referencias rotas marcadas como FALTA y desmárcalas para eliminar el error.
  • Alt+F11 > Depurar > Compilar VBAProject: Ejecuta este comando para identificar la línea exacta con el error y corregir errores tipográficos o métodos faltantes.
  • Exportar y reimportar módulos: Elimina módulos de VBA corruptos exportándolos a un archivo .bas y reimportándolos en un proyecto limpio.

ADVERTISEMENT

Por qué el Editor de VBA muestra ‘Método o miembro de datos no encontrado’

Este error de compilación ocurre cuando el intérprete de VBA no puede hacer coincidir un nombre de método o propiedad con ningún miembro del objeto que estás utilizando. En términos más simples, el código intenta llamar a una función o acceder a una propiedad que no existe para ese tipo de objeto. Por ejemplo, si escribes ActiveDocument.SaveAs2 pero el objeto no tiene un método SaveAs2, aparece el error.

Los desencadenantes más comunes son:

  • Referencias rotas: Cuando falta una biblioteca referenciada (como la biblioteca de objetos de Word o un complemento COM externo) o no está registrada, el editor de VBA no puede resolver los miembros de esos objetos.
  • Errores tipográficos: Un nombre de método mal escrito, como Open en lugar de Open o Close en lugar de Close, causa el error.
  • Tipo de objeto incorrecto: Usar un método que pertenece a un objeto diferente, como llamar a Paragraphs(1).Bold cuando Bold es una propiedad del objeto Font, no del objeto Paragraph.
  • Proyecto de VBA corrupto: Importar código de una fuente no confiable o un archivo .dotm dañado puede introducir referencias inválidas que desencadenan el error.

El error siempre detiene la compilación, por lo que la macro no se ejecutará hasta que corrijas la línea problemática. El editor de VBA resalta la línea problemática en amarillo y coloca el cursor cerca del identificador no reconocido.

Pasos para corregir el error de compilación

Sigue estos pasos en orden. Comienza con la verificación más simple (referencias rotas) y pasa a correcciones de código solo si es necesario.

Verificar y reparar referencias rotas

  1. Abrir el Editor de VBA
    Presiona Alt+F11 en Word para abrir el Editor de VBA.
  2. Abrir el cuadro de diálogo Referencias
    En la barra de menú del Editor de VBA, haz clic en Herramientas y luego en Referencias. El cuadro de diálogo Referencias lista todas las bibliotecas que usa tu proyecto.
  3. Identificar referencias faltantes
    Busca cualquier referencia que comience con FALTA en la lista. Por ejemplo, MISSING: Microsoft Word 16.0 Object Library indica una referencia rota. Desmarca la casilla junto a cualquier entrada FALTA.
  4. Eliminar referencias huérfanas
    Si ves referencias que apuntan a archivos que ya no existen en tu sistema (como un complemento COM antiguo), desmárcalas. No desmarques referencias que no estén marcadas como FALTA a menos que estés seguro de que no se usan.
  5. Agregar una referencia nueva si es necesario
    Si eliminaste una referencia a la biblioteca de objetos de Word, desplázate hacia abajo en la lista, marca Microsoft Word 16.0 Object Library (o la versión que coincida con tu instalación de Office) y haz clic en Aceptar.
  6. Recompilar el proyecto
    En el Editor de VBA, haz clic en Depurar y luego en Compilar VBAProject. Si no aparecen errores, la corrección está completa.

Corregir errores de código compilando el proyecto

  1. Abrir el Editor de VBA
    Presiona Alt+F11 en Word.
  2. Ejecutar el comando Compilar
    Haz clic en Depurar en la barra de menú y elige Compilar VBAProject. El editor se detendrá en el primer error y resaltará la línea en amarillo.
  3. Leer el identificador resaltado
    Observa la línea amarilla. La parte que no se reconoce estará seleccionada. Por ejemplo, si la línea dice Selection.Font.Size = 12 y Font está resaltado, puede haber un error tipográfico o el objeto no tiene una propiedad Font.
  4. Corregir el código
    Corrige el error tipográfico o reemplaza el método por el correcto. Usa el Examinador de objetos (F2) para buscar métodos válidos. Para el ejemplo Font, asegúrate de usar Selection.Font, no Selection.Fon.
  5. Recompilar después de cada corrección
    Presiona Ctrl+F5 para recompilar. Repite hasta que no aparezcan errores.

Exportar y reimportar módulos para corregir la corrupción

  1. Abrir el Editor de VBA
    Presiona Alt+F11 en Word.
  2. Localizar el módulo con el error
    En el Explorador de proyectos (Ctrl+R), encuentra el módulo que contiene el error. Estará bajo Normal o Proyecto dependiendo de dónde esté almacenada la macro.
  3. Exportar el módulo
    Haz clic derecho en el nombre del módulo y elige Exportar archivo. Guárdalo como un archivo .bas en tu escritorio.
  4. Eliminar el módulo corrupto
    Haz clic derecho en el mismo módulo y elige Quitar NombreDelMódulo. Confirma la eliminación. No guardes cambios en la exportación cuando se te solicite.
  5. Crear un nuevo módulo
    Haz clic en Insertar en la barra de menú y elige Módulo.
  6. Importar el archivo guardado
    Haz clic derecho en el nuevo módulo y elige Importar archivo. Selecciona el archivo .bas que guardaste anteriormente.
  7. Compilar el proyecto
    Haz clic en Depurar y luego en Compilar VBAProject. Si el error desaparece, la corrupción estaba en el almacenamiento del módulo. Si el error persiste, el código en sí contiene el problema y debes corregirlo manualmente como se describe en la sección anterior.

ADVERTISEMENT

Si el error persiste después de corregir referencias y código

El error de compilación de VBA en Word aparece en un documento diferente

Si el error ocurre solo en un documento específico, el proyecto de VBA del documento puede estar corrupto. Abre Word, crea un documento en blanco e intenta ejecutar la misma macro desde la plantilla Normal. Si funciona, el problema está en el documento. Recrea la macro en el nuevo documento copiando el código corregido del archivo .bas que exportaste anteriormente.

El Editor de VBA muestra ‘Error de compilación’ al abrir Word

Esto generalmente significa que la plantilla Normal.dotm tiene una referencia rota o código corrupto. Cierra Word, renombra Normal.dotm a Normal.old y reinicia Word. Word crea un nuevo Normal.dotm. Luego reimporta tus macros desde el archivo .bas. Esto elimina toda la corrupción a nivel de plantilla sin afectar otros complementos.

El error ocurre solo después de instalar una actualización de Office

Una actualización de Office puede cambiar la versión de la biblioteca de objetos de Word. Abre el Editor de VBA, ve a Herramientas > Referencias y verifica que Microsoft Word 16.0 Object Library esté marcada. Si la referencia apunta a una versión anterior (como 15.0), desmárcala y marca la versión correcta. Recompila el proyecto.

Error de compilación del Editor de VBA vs Error de tiempo de ejecución: Diferencias clave

Elemento Error de compilación Error de tiempo de ejecución
Cuándo aparece Cuando compilas o ejecutas la macro Durante la ejecución de la macro
Mensaje de error Método o miembro de datos no encontrado Error en tiempo de ejecución ‘####’ con descripción específica
Código resaltado Sí, la línea con el error se resalta en amarillo Sí, la línea que causó el error se resalta
Causa raíz Referencia faltante, error tipográfico o miembro de objeto incorrecto Operación inválida, división por cero, objeto no establecido
Método de corrección Verificar referencias, corregir código o exportar/importar módulos Agregar manejo de errores, validar estados de objetos o verificar valores de datos

Comprender esta diferencia te ayuda a elegir la corrección adecuada. Un error de compilación siempre requiere un cambio en el código o en las referencias. Un error de tiempo de ejecución puede corregirse agregando manejo de errores o verificando los estados de los objetos antes de usarlos.

Ahora puedes resolver el error de compilación ‘Método o miembro de datos no encontrado’ verificando referencias, corrigiendo errores tipográficos y recompilando tu proyecto. A continuación, ejecuta la macro nuevamente para confirmar que funciona. Para prevención futura, siempre compila tu proyecto de VBA con Depurar > Compilar VBAProject después de hacer cambios. Un consejo avanzado útil es habilitar Herramientas > Opciones > Editor > Verificación automática de sintaxis para que Word marque los errores mientras escribes, reduciendo la posibilidad de errores de compilación.

ADVERTISEMENT