Visual Basic en Mac

Hola,

Necesito crear una macro en Excel para resaltar la fila en la que estoy trabajando, en un Mac, pero no encuentro cómo hacerlo ya que cuando intento crear mi macro bajo WORKSHEET, me dice "esta variable utiliza un tipo de automatización no gestionado por Visual Basic".

¿Alguien tendría la solución?

Gracias a todos y todas.

8 respuestas

  1. Buenas noches Séverine,

    Creo que se trata de la forma de proceder, el orden o la manera...

    Acabo de rehacer la prueba, y funcionó a la primera.

    Lo que acabo de rehacer para una nueva prueba, en el orden:

    - Iniciar Excel

    - Documento nuevo

    - Selección de un grupo de celdas

    - Inserción de una tabla

    - formato condicional / Clásico / Usar una fórmula = su fórmula, es decir

    =fila()=celda("fila") en rojo

    - menú Desarrollador / Visual Basic

    - selección de la hoja en curso en la ventana de Visual Basic

    - pegar esto en la página de código

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Set zona = Intersect(Target.EntireRow, Target.CurrentRegion)

    Application.ScreenUpdating = True

    End Sub

    - Regreso a la hoja para prueba = funciona

    - Guardar como...

    - Elegir el tipo de archivo: xlsm (archivo que admite macros)

    - Salir de Excel

    - Abrir el archivo para prueba con activación de macros...

    Funciona...


    *_Francis_*
    Buen día, buena tarde, buena noche ;)
    iMac mediados de 2011 - MacBook Air M1

    1. Colaborador

      ¿Puedes indicar qué comando utilizas que te devuelve ese error? Precisa también qué es lo que quieres hacer exactamente.

      A priori, una macro contextual de tipo Worksheet_Change, etc. debería corresponder a lo que buscas (si he entendido bien tu solicitud)...


      ¡Hola en tu casa!
      Bernard

      1. Hola,

        En grandes tablas (con muchas columnas), me gustaría que la fila que selecciono se coloree cuando hago clic en ella.

        Logré hacerlo en la oficina (trabajo en Windows) con el formato condicional =fila()=celda("fila") + macro de hoja de trabajo: application.ScreenUpdating=true, pero al intentar reproducirlo en casa (trabajo en Mac) ya no puedo, ya que no se presenta de la misma manera.

        1. Colaborador

          ¿Puedes describir más precisamente cómo está construida esta macro? En mi caso, parece funcionar como describes con estas líneas (en la página de código de la hoja correspondiente):

           Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = True End Sub

          Cuando valido una entrada con la tecla "Enter", la fila se colorea (y la anterior vuelve a ser blanca)...

      2. 1- Selecciono una celda en mi tabla

        2- CTRL A para seleccionar TODA la tabla

        3- Formato condicional con la fórmula =fila()=celda("fila") en rojo (por ejemplo)

        4- en la hoja en la que estoy trabajando, voy a Desarrollador / Visual Basic

        5- En el lado izquierdo, hay PROYECTO-VBProject

        6- hago clic en la hoja que me interesa

        7- en la ventana del medio, hay por un lado General o worksheet (a la izquierda de la ventana) y por el otro declaración (a la derecha)

        8- tan pronto como selecciono worksheet, aparece una ventana que dice "Esta variable utiliza un tipo de Automation no gestionado por Visual Basic"

        Por lo tanto, no puedo hacer nada más

        1. Colaborador

          Curioso. ¿Has hecho doble clic en el ícono de la hoja correspondiente para "abrir" la página de código?

          ¿De qué versión de Excel se trata (16.83)? ¿En qué versión de macOS?


          ¡Hola en su casa!
          Bernard

          1. Hola,

            A continuación, una captura de pantalla de la ventana que se abre:

            https://www.cjoint.com/c/NCymR5ilgzW

            Mi Mac está bloqueado en Catalina versión 10.15.7.

            En cuanto a Excel, es la versión 16.66.1

            Pero normalmente eso no debería afectar la entrada de macros ?????

            1. Colaborador

              En efecto, para Catalina, es la versión 16.66.1. Y no debería afectar el funcionamiento básico de las macros (en mi caso, funciona igual de bien en Mojave con Excel 16.54 que en Monterey y Excel 16.83).

              Después de salir de Excel, accede a la carpeta ~/Biblioteca/Containers y elimina la carpeta com.microsoft.Excel que allí se encuentra:

              Con un poco de suerte, esto será suficiente para poner las cosas en orden.


              ¡Hola en su casa!
              Bernard

              1. Hola,

                Acabo de realizar varias pruebas y tuve exactamente los mismos fallos y mensajes de error que Séverine en un primer momento. Luego, tras varias pruebas diferentes, finalmente obtuve el resultado deseado:

                con este script:

                El simple hecho de hacer clic en una celda provoca entonces el color de toda la fila.

                Esto bajo Sonoma, con Excel 16.83...

                Si puede ayudar...

                @+

              2. @Usuario anónimo

                Buenas noches,

                Bueno, debo estar maldecida ..... no funciona.

                Gracias por su ayuda.

                Qué le vamos a hacer, lo dejo estar.

                Atentamente.