Jump to content

Recommended Posts

Hola, soy nuevo en la comunidad y tengo el siguiente problema:

Genere algunos formularios con MsgBox en Office365 en Windows OS 10, estos mensajes me aparecen delante de formulario y se ejecutan sin problemas, pero al momento de ejecutar el mismo documento en OS MAC todos los MsgBox aparecen detrás del formulario y debo correr el formulario hacia un lado para seleccionar la acción y seguir.  Aplique el vbMsgBoxSetForeground  dentro de la sintaxis, pero aun así persiste el incidente y esto solo pasa en MAC. 

Ejemplo de una configuración.

Private Sub SalirA_Click()
Dim Pregunta As String
Pregunta = MsgBox("¿Desea salir?", vbYesNo + vbQuestion + vbMsgBoxSetForeground, "Prueba")

    If Pregunta = vbYes Then

'cerrar formulario
     Unload Me
    End If
End Sub

Link to post
Share on other sites
Hace 43 minutos , Panchuko dijo:

esto solo pasa en MAC

es probable que mac no lea todas las constantes por nombre, prueba a cambiarlas por su constante numerica:
vbYesNo => 4
vbQuestion => 32
vbMsgBoxSetForeground => 65536

o incluso, algunos entornos toman "precedencia" sobre otros, prueba a cambiar de setforeground a:
vbSystemModal => 4096

Link to post
Share on other sites
En 8/4/2021 at 1:05 , Héctor Miguel dijo:

es probable que mac no lea todas las constantes por nombre, prueba a cambiarlas por su constante numerica:
vbYesNo => 4
vbQuestion => 32
vbMsgBoxSetForeground => 65536

o incluso, algunos entornos toman "precedencia" sobre otros, prueba a cambiar de setforeground a:
vbSystemModal => 4096

Héctor, gracias por tu respuesta pero a pesar de cambiar a valor numérico pero aun me mantiene el problema mostrándome el mensaje detrás del formulario.

 

 

Link to post
Share on other sites
Hace 39 minutos , Panchuko dijo:

a pesar de cambiar a valor numérico... el mensaje detrás del formulario

no se si esto funciona en mac (hace mucho que no lo uso)

antes de mostrar el mensaje, agrega estas dos lineas:

  AppActivate Application.Caption
  DoEvents

si no funciona, buscamos otras alternativas

Link to post
Share on other sites
En 16/4/2021 at 1:43 , Héctor Miguel dijo:

no se si esto funciona en mac (hace mucho que no lo uso)

antes de mostrar el mensaje, agrega estas dos lineas:


  AppActivate Application.Caption
  DoEvents

si no funciona, buscamos otras alternativas

No funciono lo indicado.

Lo que si me funciono es cambiar el modo del formulario a No Modal y ahí los mensajes empezaron a aparecer delante de cada formulario.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Crear macros Excel

  • Posts

    • ¡¡¡¡ El archivo Libro1-1.xlsm
    • Prueba la macro, la solución en BD Solucion2de2, sin pasar por BD Solucion1de2. Sub FillRate() Application.ScreenUpdating = False With Sheets("BD Solución2de2") Sheets("BD").Cells.Copy .Cells .Select For x = 2 To .Range("A" & Rows.Count).End(xlUp).Row If x Mod 500 = 0 Then Application.StatusBar = "Tratando fila " & x If Not .Range("A" & x) = "" Then If .Range("C" & x) > 0 Then Base = "C" & x .Range("I" & x).Formula = "=D" & x & "/" & Base If .Range("I" & x) > 1 Or .Range("I" & x) < 0 Then .Rows(x).Delete x = x - 1 End If End If Next End With Application.StatusBar = False End Sub En la línea de estado de Excel se muestra un pequeño avance del proceso.
    • Un saludo a ambos, aquí te dejo otra opción
    • Private Sub TextBox1_Change() ActiveSheet.Range("C6").Value = TextBox1.Text TextBox3 = Range("C8").Text End Sub Private Sub TextBox2_Change() ActiveSheet.Range("C7").Value = TextBox2.Text TextBox3 = Range("C8").Text End Sub Private Sub CommandButton1_Click() TextBox1 = Empty TextBox2 = Empty TextBox3 = Empty TextBox1.SetFocus End Sub  
    • este es el archivo con userform   Libro1.xlsm
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy