Jump to content

Formulario


jeaa

Recommended Posts

Posted

Estimados expertos reciban un cordial saludo por intermedio de ayudaexcel, mi dificultad es que estoy creando un sistema de restaurante para cual tengo un formulario Hamburguesas la cual cuando selecciono una las mesas en momentos selecciona bien y en otro momento no selecciona, pero el problema es que si selecciono una mesa y si quiero seleccionar otra mesa si haber seleccionado un plato no debe seleccionar o por lo menos que diga no a seleccionado ningún plato en la mesa tal (mesa seleccionada anteriormente) por el momento eso es mi dificultad. Amigos programadores espero su pronta respuesta de antemano muchas gracias. Adjunto el enlace del archivo.

https://onedrive.live.com/?id=9076AC7202FC6EF1!522&cid=9076AC7202FC6EF1

 

Posted
Hace 17 horas, jeaa dijo:

Amigos programadores espero su pronta respuesta de antemano muchas gracias

Espero que algún programador tenga un super pantallón para poder ayudarte. En mi humilde portátil el userform se sale por todos lados de la pantalla :huh:. ¿Es necesario hacerlo tan gigante? Yo no puedo trabajar sobre él y por lo tanto no puedo ayudarte :(

Posted
Hace 19 minutos , Haplox dijo:

Espero que algún programador tenga un super pantallón para poder ayudarte. En mi humilde portátil el userform se sale por todos lados de la pantalla :huh:. ¿Es necesario hacerlo tan gigante? Yo no puedo trabajar sobre él y por lo tanto no puedo ayudarte :(

¡Dios mío, que carácter! Con poner Me.Zoom = 85 en el evento Initialize del formulario se acaba el problema, ¡Ale!, ya no tienes excusa.???

Posted

Disculpe por el tamaño de pantalla la pantalla se puede adecuar, de todos modos gracias.

Posted
Hace 21 horas, Antoni dijo:

¡Dios mío, que carácter!

Ya, ya,... pero a ti no te veo echar una  manita :P. Es que está lleno de trampas, hay que deshabilitar o cambiar la mitad de las cosas para abrirlo, pera poder cerrarlo... :blink:

Aparte @jeaa no entiendo la dinámica del form, ni la que necesitas. No sé que es esa macro de validadr mesa, que funciona unas veces y otras no. Explica claramente que te sobra o no funciona, así cómo quieres que funcione el form. Ejemplo

  • Si elijo una mesa no poder cambiar hasta... ¿Qué? ¿Validar el pedido?
  • SI elijo una mesa, pero quiero seleccionar otra porque, por ejemplo me he equivocado... ¿Qué hago?
  • etc.

Cosas así, para tener claro qué necesitas

 

Posted
Cita

 

Haplox dijo:

Ya, ya,... pero a ti no te veo echar una  manita :P. Es que está lleno de trampas, hay que deshabilitar o cambiar la mitad de las cosas para abrirlo, pera poder cerrarlo... :blink:

 

Es que soy daltónico, detecto el color "marrón" a la legua, jajaja............???

Posted

Disculpa lo que pasa es que quiero de me funcione correctamente los números de mesas; si selecciono una mesa también debo seleccionar los platos que deseo y así sucesivamente con todas las mesas y si yo selecciona otra mesa sin haber culminado con la mesa anterior seleccionado, me debe salir un mensaje no termino el pedido con la mesa anterior numero tal y no de be pasar a otra mesa. En conclusión si selecciona una mesa también debo seleccionar uno o mas platos y así para el resto de las mesas.

Posted

@jeaa , se me hace imposible trabajar con tu formulario, aparte de que con tanto código sin demasiado sentido, tocar cualquier cosa puede estroperar otra.

Habías empezado bien con M1. Pon este código para todas las pesas, cambiando M1 por cada mesa (M2, M3, etc): Espero que te pueda guiar para seguir

If MesaActiva <> M1.Caption And VisualizarLB.ListCount = 0 Then
        respuesta = MsgBox("La" & " Mesa " & Mid(VisorMesa, 6, 2) & " está activa " & "y no Ha Registrado Nada Para el Pedido: " & NoPedido & vbNewLine & vbNewLine & "¿Realmente quiere cambiar de mesa?", vbYesNo, "Mesa Activa sin Pedido")
            If respuesta = 6 Then
                VisorMesa = "MESA " & M1.Caption & " ACTIVA"
                M1.BackColor = vbRed
            End If
    End If

 

Posted

Haplox, muchas gracias voy a probar y te cuento luego...

Posted

Funciona bien lo que pasa es que una vez seleccionada la mesa selecciono un plato me dice que seleccione una mesa, pero ya esta seleccionado la mesa esto significa que no reconoce la mesa por favor que puedo hacer.

Posted
Hace 16 horas, jeaa dijo:

Funciona bien lo que pasa es que una vez seleccionada la mesa selecciono un plato me dice que seleccione una mesa

A ver, yo solo he puesto en el labe la mesa que se selecciona, pero no sé cómo hacías para realmente activarla. Solo tienes que llevar esa parte dentrol del If.

Como ves a poco que se toca se estropea algo. Por cierto, debes hacerlo con todas las mesas, que según lo visto para cada una tienes un código distinto :huh: . De hay lo que decías de "unas veces funciona y otras no". Lógico si para cada  mesa tienes un código distinto.

If MesaActiva <> M1.Caption And VisualizarLB.ListCount = 0 Then
        respuesta = MsgBox("La" & " Mesa " & Mid(VisorMesa, 6, 2) & " está activa " & "y no Ha Registrado Nada Para el Pedido: " & NoPedido & vbNewLine & vbNewLine & "¿Realmente quiere cambiar de mesa?", vbYesNo, "Mesa Activa sin Pedido")
            If respuesta = 6 Then
                VisorMesa = "MESA " & M1.Caption & " ACTIVA"
                M1.BackColor = vbRed

				'TODO EL CÓDIGO QUE USASES IRÍA AQUÍ'
	
            End If
    End If
Posted
respuesta = MsgBox("La" & " Mesa " & Mid(VisorMesa, 6, 2) & " está activa " & "y no Ha Registrado Nada Para el Pedido: " & NoPedido & vbNewLine & vbNewLine & "¿Realmente quiere cambiar de mesa?", vbYesNo, "Mesa Activa sin Pedido")

Al ejecutar el formulario selecciono una mesa me sales un mensajes como muestra la siguiente imagen image.png.642a7f4d9febbb6c3c6d36500dd09ff7.png

a la mesa lo toma Y y en todas las mesas, ademas este mensaje podría salir cuando pulso en otra mesa sin haber seleccionado un plato, pero este sale cuando apena ejecuto y escojo una mesa. Por favor si me dejo entender,  Haplox muchas gracias por tomarte el tiempo en mi duda de agradezco de todo corazón.

Posted
En 24/11/2019 at 17:24 , jeaa dijo:

a la mesa lo toma Y y en todas las mesas, ademas este mensaje podría salir cuando pulso en otra mesa sin haber seleccionado un plato, pero este sale cuando apena ejecuto y escojo una mesa. Por favor si me dejo entender,  Haplox muchas gracias por tomarte el tiempo en mi duda de agradezco de todo corazón.

No entiendo ¿Necesitas ayuda o modificar algo más? :(

Posted

Haplox, disculpa solo quiero nada mas que funcione las mesas

Posted

@jeaa , por partes... Te dejo el código, sin variar mucho para no estropear el resto de jaleo de macros que tienes, de las Mesas 1 y 2. Debes aplicarlas al  resto, FIJÁNDOTE que debes cambiar las celdas, NumMesa, etc. correspondientes a cada mesa.

En algún lugar, supongo que al registrar el pedido, debes poner MesaActiva a 0, si no no te funcionará. Lo del nº de pedido no me ha quedado claro cómo quieres ponerlo o su dinámica. Mira el cambio que he hecho a ver si es lo que necesitas... Y crucemos los dedos ?
 

Private Sub M1_Click()

    Dim NumMesa As Integer, PedMesa As Integer
    NumMesa = Hoja6.Cells(2, 2)
    PedMesa = Hoja6.Cells(2, 3)
    TotalL = "0"
    TotalL = Format(TotalL, "$ ###,##0")
    VisualizarLB.Clear
    
    Uf = Sheets(2).Range("B1:B" & Rows.count).End(xlDown).Row
    NoPedido = WorksheetFunction.Max(Sheets(2).Range("B1:B" & Uf)) + 1
    
    'NoPedido.Text = Hoja2.Cells(2, 14) + 1
    BillTxt.Text = ""
    BillTxt.Text = Format(BillTxt.Text, "$ ###,##0")
    
    If MesaActiva <> 0 And VisualizarLB.ListCount = 0 Then
    
        MsgBox "No Ha Registrado Nada Para el Pedido: " & NoPedido
        M1.ForeColor = vbGreen
    Exit Sub
    End If
    
    
    
    
    If NumMesa = 0 Then
    
        'VisorMesa = "MESA 1, ESTA ACTIVA CON EL PEDIDO No " & NoPedido.Text
        VisorMesa = Hoja6.Cells(NumMesa + 2, 1) + ", ESTA ACTIVA. PEDIDIDO No: " & NoPedido.Text
        Hoja6.Cells(NumMesa + 2, 2) = 1
        Hoja6.Cells(NumMesa + 2, 3) = NoPedido.Text
        M1.ForeColor = vbRed
    
    End If
         
    If PedMesa <> 0 Then
        
        Me.VisualizarLB.Clear
        Dim ped, count As Integer, FilPed As Integer, UltFil As Integer
        NoPedido.Text = Hoja6.Range("C2")
        FilPed = Hoja6.Range("C2")
        UltFil = Hoja2.Range("B" & Rows.count).End(xlUp).Row

            For count = 2 To UltFil
            
                ped = Hoja2.Cells(count, 2)
                
                    If ped = FilPed Then
                    
                        Me.VisualizarLB.AddItem Cells(count, 1)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 1) = Hoja2.Cells(count, 2)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 2) = Hoja2.Cells(count, 3)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 3) = Hoja2.Cells(count, 4)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 4) = Hoja2.Cells(count, 5)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 5) = Hoja2.Cells(count, 6)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 6) = Hoja2.Cells(count, 7)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 7) = Hoja2.Cells(count, 8)
                                        
                    End If
                    
            Next count

        End If
            
            Dim Suma As Long
            Dim i As Integer
            
            Suma = 0
            
                For i = 0 To Me.VisualizarLB.ListCount - 1
            
                    Suma = Suma + CDbl(Me.VisualizarLB.List(i, 7))
            
                Next
           
                    TotalL = Suma
                    TotalL = Format(TotalL.Caption, "$ ###,##0")
     
                    

 
 MesaActiva = 1
End Sub

 

Private Sub M2_Click()


Dim NumMesa As Integer, PedMesa As Integer
    NumMesa = Hoja6.Cells(3, 2)
    PedMesa = Hoja6.Cells(3, 3)
    TotalL = "0"
    TotalL = Format(TotalL, "$ ###,##0")
    VisualizarLB.Clear
    
    Uf = Sheets(2).Range("B1:B" & Rows.count).End(xlDown).Row
    NoPedido = WorksheetFunction.Max(Sheets(2).Range("B1:B" & Uf)) + 1
    
    'NoPedido.Text = Hoja2.Cells(2, 14) + 1
    BillTxt.Text = ""
    BillTxt.Text = Format(BillTxt.Text, "$ ###,##0")
    
    If MesaActiva <> 0 And VisualizarLB.ListCount = 0 Then
    
        MsgBox "No Ha Registrado Nada Para el Pedido: " & NoPedido
        M2.ForeColor = vbGreen
    Exit Sub
    End If
    
    
    
    
    If NumMesa = 0 Then
    
        VisorMesa = "MESA 1, ESTA ACTIVA CON EL PEDIDO No " & NoPedido.Text
        VisorMesa = Hoja6.Cells(NumMesa + 2, 1) + ", ESTA ACTIVA. PEDIDIDO No: " & NoPedido.Text
        Hoja6.Cells(NumMesa + 2, 2) = 1
        Hoja6.Cells(NumMesa + 2, 3) = NoPedido.Text
        M1.ForeColor = vbRed
    
    End If
         
    If PedMesa <> 0 Then
        
        Me.VisualizarLB.Clear
        Dim ped, count As Integer, FilPed As Integer, UltFil As Integer
        NoPedido.Text = Hoja6.Range("C3")
        FilPed = Hoja6.Range("C3")
        UltFil = Hoja2.Range("B" & Rows.count).End(xlUp).Row

            For count = 2 To UltFil
            
                ped = Hoja2.Cells(count, 2)
                
                    If ped = FilPed Then
                    
                        Me.VisualizarLB.AddItem Cells(count, 1)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 1) = Hoja2.Cells(count, 2)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 2) = Hoja2.Cells(count, 3)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 3) = Hoja2.Cells(count, 4)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 4) = Hoja2.Cells(count, 5)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 5) = Hoja2.Cells(count, 6)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 6) = Hoja2.Cells(count, 7)
                        Me.VisualizarLB.List(Me.VisualizarLB.ListCount - 1, 7) = Hoja2.Cells(count, 8)
                                        
                    End If
                    
            Next count

        End If
            
            Dim Suma As Long
            Dim i As Integer
            
            Suma = 0
            
                For i = 0 To Me.VisualizarLB.ListCount - 1
            
                    Suma = Suma + CDbl(Me.VisualizarLB.List(i, 7))
            
                Next
           
                    TotalL = Suma
                    TotalL = Format(TotalL.Caption, "$ ###,##0")
     
                    

 
 MesaActiva = 2
End Sub

 

Posted

Muchas gracias, me sirvió mucho

Archived

This topic is now archived and is closed to further replies.

  • 108 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Current Donation Goals

    • Raised 0.00 EUR of 130.00 EUR target
  • Files

  • Download Statistics

    • Files
      184
    • Comments
      96
    • Reviews
      28

    More information about "Un juego solitario en Excel"
    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Hola. Tu archivo no tiene macros. Sobre las celdas combinadas, ya que no puedes evitar su uso al no ser tus archivos, lo mejor es "des combinarlas" previo a cualquier cosa, incluso en tu misma macro (que no envías). 
    • Hola buenas tardes tengo un archivo en excel que copia varias tablas y las importa a word de manera automatica. Este selecciona las tablas en base a las filas con datos de mi columna C. pueden ser  diferentes rango de tablas. (Pero siempre mi rango es de celdas continuas y con valores continuas) Funciona muy bien. El problema que ahora tengo es que muchos archivos con tablas  tienen las celdas combinadas ya sea horizontalmento o vertical. Aqui es donde empieza mi problema ya que son formatos de origen no puedo modificarlas. Quisiera ajustar mi macro en la parte de seleccion de rango de tablas y que pueda considerar la celdas combinadas y pegarlos en word sin problema. Ya que actualmente no me pone algunas tablas o rangos, o me repite las tablas y no considera las demas. Todo esto a que en algunas no hay valores o las celdas estan combinadas.   Muchas gracias Seleccion automatica de celdas combis.xlsx
    • por si te sirve: la primera matriz (pivotarpor) al inicio los que no tienen profesor asignado (orden ascendente por omision) la segunda (2 matrices y solo unicos) en el orden de aparicion (no asignados al final) la tercera (2 matrices) omite los no asignados (tambien por orden de aparicion) unicos y suma (ayudaExcel).xlsx
    • No se si este tema va aquí, si no es así, pido disculpas. Llevo varios días dando vueltas a un fallo que me sale al exportar una tabla a xml y que no consigo resolver. El fallo que me da es que no las asignaciones no son exportables y al comprobar la asignación me dice datos no normalizados.     Libro1.xlsx
    • Buenas tardes estimado JSDJSD, muchas gracias por responder. En efecto esta parte quedo perfecta. Pero me falto indicar que la macro se ejecute dependiendo de la celda L1 ( Caliza o Mezcla). Entonces si dice Caliza aplica la macro que me enviaste, pero si dice Mezcla que haga lo siguiente: Busque el  ultimo dato de la columna K de la hoja Mezcla Adición del libro Base de datos Cementos producido 2024, con la condición de que la columna B debe ser igual a 4 y el dato lo coloque en la celda N1 de la hoja Cemento del libro Cemento. Te comento que el libro Prehomo y Base de datos Cementos producidos 2024 están en carpetas diferentes ya que estos los maneja otra área, como se enmendaría este caso por el comentarios que me enviaste de la ruta. Saludos y un fuerte abrazo   Cemento-2.xlsm
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy