Error de Excel "Este libro contiene macros de Excel 4.0 o módulos de Excel 5.0"

Error de Excel "Este libro contiene macros de Excel 4.0 o módulos de Excel 5.0"

Tengo un libro que estaba protegido mediante la función Proteger libro. Fue enviado a otra persona para que lo modifique. Cuando lo devolvieron estaba desprotegido y cuando intento volver a protegerlo me sale este error,

"Este libro contiene macros de Excel 4.0 o módulos de Excel 5.0. Si desea proteger con contraseña o restringir el permiso a este documento, debe eliminar estas macros".

Miré y no hay macros nuevas en el archivo editado. El archivo original contenía las mismas macros y se podía proteger contra escritura, por lo que no estoy seguro de por qué el archivo modificado tiene problemas. ¿Cuáles son las causas y soluciones comunes para este error? ¿Tiene sentido que el archivo modificado tenga el error cuando el original no lo tiene?

Respuesta1

Intente hacer clic en "Proteger libro de trabajo" y luego anule la selección de "Proteger estructuras y ventanas". Funcionó para mí.

Respuesta2

Por supuesto, lo siguiente es para cualquiera que busque sobre el problema y necesite una solución. ¡Estoy seguro de que al cartel hace tiempo que dejó de importarle!

Los únicos motivos del mensaje se dividen en dos clases principales:

  1. Alguien que tenía el archivo habilitado en general en su copia de Excel para el uso de las macros, comandos y páginas de macros de Excel 4 (y 5, pero así es como los llama la gente), y podría haber creado macros literales. Se ven diferentes a las macros de VBA, sin duda, pero una vez que las veas, te darás cuenta muy rápido.

No es probable.

  1. Alguien que tenía el archivo used one of the viable (for this kind of use) Excel 4 macro commandsen un rango con nombre. Esto es MUY probable lo que ha sucedido.

Dado que los comandos de macro de Excel 4 SON comandos de macro, su uso, ya sea en una macro literal o en rangos con nombre, hará que Excel trate la hoja de cálculo como si tuviera macros. Hasta principios de 2021, podía guardar el archivo en el que los estaba usando (en rangos con nombre para este punto, no en macros reales) y durante el guardado, Excel le advertiría que guardara el archivo como un archivo habilitado para macros ( es decir: .XLSM, no .XLSX). Podrías decir "¡No!" y la salvación funcionaría como de costumbre, y esta reprimenda nunca volvería a surgir. Al abrir el archivo no se dieron advertencias y las fórmulas en los rangos con nombre funcionaron bien.

Desde hace un año y poco ya no permite que eso suceda. Si se niega a utilizar el formato .XLSM, las funciones de Excel 4 desaparecerán cuando lo abra a continuación y las fórmulas de celda que utilizan los rangos con nombre de los que formaban parte se eliminarán. Si SÍ utilizas el formato .XLSM, bueno, mucha gente no abrirá tu hoja de cálculo. Pero las fórmulas que utilizan los rangos con nombre funcionarán si lo hacen.

Ese segundo es seguramente lo que necesitas explorar. Abra el Administrador de nombres y comience a examinar los rangos con nombre, observando su Refers tocontenido (generalmente una fórmula o rango). Está buscando cualquier nombre de función de Excel 4.

Por ejemplo, EVALUATE()es una función maravillosa del lenguaje de macros Excel 4 y no tiene absolutamente ningún equivalente moderno. Ninguno en absoluto, o incluso cerca. Si te devolví la hoja de cálculo y apareció este mensaje, esa es la función que podría haber usado 7 u 8 veces de cada 10. (Por supuesto, NUNCA habría dejado una señal tan obvia de que rompí la protección (lo más fácil cosa en el mundo) y fue un placer para mí con su hoja de cálculo. Otros son más descuidados o simplemente no les importa, es triste decirlo).

En cualquier caso, CUALQUIER función que detecte y que no reconozca se puede comprobar de dos formas sencillas. Puede buscar la función en Internet. Si es uno de los comandos macro de Excel 4, verá ese hecho en el primer paso o dos que realice. La gente quiere que sepas que saben algo que tú no sabes, y es divertido imaginar que estás cautivando a la gente.

La otra manera es aún más fácil. Simplemente vaya a una celda e inicie una fórmula con la función y mientras escribe el nombre de la función, vea si Intellisenseaparece la ayuda o no. Si no, encontraste uno de ellos (es posible que otro tipo haya usado más). Y finalice la función, luego presione Entrar y vea si falla #NAME!o hace... cualquier otra cosa. Cualquiera que cometa ese error es uno de ellos.

En este punto, o antes de hacer cualquier otra cosa, en realidad, podrías contactar al otro tipo y decirle: "Oye, ¿hiciste algo de este tipo de cosas?". Mucha gente se avergonzaría y diría "Oh, um, sí..." y te ayudaría a limpiar las cosas. Sin embargo, muchos se callarían y te mirarían como si te acabaran de crecer las astas, así que:

Elimine todos esos rangos con nombre si no los creó. Eso es lo más probable. Y los usos de ellos en la hoja de cálculo que el otro tipo dejó tirados fallarán, pero no los querías de todos modos. Ejecútelos y elimínelos o corríjalos según corresponda. Esto podría ser simple con usos bastante notables y eliminación o arreglos simples. Podría ser bastante complicado, especialmente si la persona intentó limpiar y dejó un verdadero desastre.

Hay una outside the question itselfserie de factores a considerar en relación con el hecho de volver a trabajar con esa persona sin supervisión gerencial sobre el horrible trabajo que realiza, pero esto está destinado a alguien que busca un problema más general y necesita una manera de avanzar, y probablemente prefiera una persona no -Un camino de confrontación a seguir.

Finalmente, es posible, aunque extremadamente improbable, dado que lo modificaría de alguna manera y lo presentaría de nuevo, presumiblemente para uso general. Si bien es posible que no estuviera al tanto de los pasos de MS para apretar los tornillos sobre el uso de esos comandos (las empresas ahora pueden cerrarlos por completo a través del Centro de Confianza y las políticas empresariales, lo cual, si bien podría haber sido posible antes, no lo fue). algo que el programa mencionó activamente antes) cuando finalmente se toman en serio la idea de que desaparezcan por primera vez en 25 años, seguramente no podría haber pensado en mantener su trabajo escribiendo macros reales de Excel 4. Pero si lo hiciera, se colocarían en páginas especiales insertadas para ellos y serían bastante fáciles de detectar. Sin embargo, si hizo ese tipo de cosas, hablando en serio, sus modificaciones son completamente inutilizables fuera de su computadora ya que nadie más las aceptará. Vuelva al original que le enviaron y busque una forma diferente de modificar la hoja de cálculo.

Lo digo como una persona que los ha habilitado en mi copia de Excel pero que nunca los impondría a otros como un trabajo aceptable. Son para mi propio trabajo y rara vez los uso. Definitivamente no para entregárselo a otros.

información relacionada