Como puedo ordenar botones consecutivamente?

De nuevo recurriendo a los expertos a ver si alguien me puede ayudar con una pequeña duda; resulta que tengo este formulario con varios checkbox:

los cuales al estar activo me muestran unos botones en este formulario:

un ejemplo de lo que les digo algo así:


Ahora mi duda es la siguiente existe alguna linea de código en donde los coloque consecutivamente uno al lado del otro, no dejando el espacio que se ve en la imagen 4.
Quien me pueda ayudar se lo agradecería.

1 Respuesta

Respuesta
2

¿Los botones ya existen pero están ocultos?

¿O los vas creando?

Necesito ver cómo tienes tus formularios y cómo se activan los botones. Envíame tu archivo y me explicas actualmente qué haces. Mi correo [email protected] en el asunto del correo pon tu nombre de usuario "rafael angel"

Te anexo el código

Dim izq
Dim alto
Dim maxizq
'
Private Sub UserForm_Activate()
    maxizq = 690
    alto = 6
    izq = 120
End Sub
'
Sub acomoda()
    'oculta todos los command
    For Each ctrl In uf_sistema.Controls
        If Left(ctrl.Name, 3) = "but" Then
            ctrl.Visible = 0
        End If
    Next
    'mostrar los que están prendidos
    alto = 6
    izq = 120
    For Each ctrl In Me.Controls
        If Left(ctrl.Name, 5) = "check" Then
            If ctrl.Value = True Then
                nombre = Mid(ctrl.Name, 6)
                If alto > maxizq Then
                    alto = alto + 24
                    izq = 120
                End If
                uf_sistema.Controls("but" & nombre).Visible = 1
                uf_sistema.Controls("but" & nombre).Top = alto
                uf_sistema.Controls("but" & nombre).Left = izq
                izq = izq + uf_sistema.Controls("but" & nombre).Width
            End If
        End If
    Next
End Sub
'
Private Sub checkaqueduct_Click()
    Call acomoda
End Sub
Private Sub checkarlington_Click()
    Call acomoda
End Sub
Private Sub checkbelmont_Click()
    Call acomoda
End Sub
Private Sub checkcanterbury_Click()
    Call acomoda
End Sub
Private Sub checkcharles_Click()
    Call acomoda
End Sub

En cada Private Sub Check, debes llamar a la rutina acomoda

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias! excelente justo lo que quería 

Puedo crear una clase para todos los checkbox, de esa forma no tienes que poner estas líneas, solamente bastaría con un código para todos los checkbox

Private Sub checkaqueduct_Click()
    Call acomoda
End Sub
Private Sub checkarlington_Click()
    Call acomoda
End Sub
Private Sub checkbelmont_Click()
    Call acomoda
End Sub
Private Sub checkcanterbury_Click()
    Call acomoda
End Sub
Private Sub checkcharles_Click()
    Call acomoda
End Sub

Si quieres que prepare el código, crea una nueva pregunta, en el desarrollo de la pregunta escribe "Para Dante Amor", ahí haces referencia a esta pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas