Cargar datos en commandbutton de menor a mayor

Dante tengo unos números del rango a1:a50 pero Quiero que me los cargue del commandbutton1 a commandbutton50 del numero menor al mayor, lo único que tengo es números, esto lo ocupo para evitar hacer el filtro espero podrás ayudarme

1 respuesta

Respuesta
1

Pero no pusiste una imagen del resultado que quieres.

Por ejemplo en la celda A1 dice 123, ¿qué hago con ese 123? ¿Quieres qué el commandbutton1?

¿Los commandbutton los tienes en la hoja o en un formulario?

O envíame tu archivo y me explicas con un ejemplo lo que necesitas

Mi correo [email protected],com

En el asunto de correo pon tu nombre "Victor Coello"

Necesito que pongas un ejemplo, explica con datos qué es lo que necesitas.

Entendí que hay que cargar los datos que tienes en el caption de cada commandbutton, ¿es correcto?

Sub UserForm_Initialize()
    For i = 1 To 44
        Controls("commandButton" & i).Caption = Sheet3.Cells(i + 1, "A")
    Next
    Dim FIN As Single
    If Sheets("Information").Range("A2") = "" Then Exit Sub
    FIN = WorksheetFunction.CountA(Sheets("Information").Range("A:A"))
    UserForm1.TextBox1 = Sheets("Information").Cells(FIN, 1)
    UserForm1.TextBox2 = Sheets("Information").Cells(FIN, 2)
    UserForm1.TextBox3 = Sheets("Information").Cells(FIN, 3)
    UserForm1.TextBox4 = Sheets("Information").Cells(FIN, 4)
    UserForm1.Modelo.Caption = Sheets("Information").Cells(FIN, 2)
    UserForm1.DEPARTAMENTO.Caption = Sheet3.Range("B1")
End Sub

Te anexo la macro, previamente ordena la columna A en otro hoja y después carga.

Sub UserForm_Initialize()
'Act.Por.Dante Amor
    Application.ScreenUpdating = False
    Set h2 = Sheets.Add(After:=Sheets(Sheets.Count))
    Sheets("Data").Columns("A:A").Copy h2.Range("A1")
    Application.CutCopyMode = False
    u = h2.Range("A" & Rows.Count).End(xlUp).Row
    With h2.Sort
        .SortFields.Clear
        .SortFields.Add Key:=h2.Range("A2:A" & u), _
         SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Range("A1:A" & u)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    For i = 1 To 44
        Controls("commandButton" & i).Caption = h2.Cells(i + 1, "A")
    Next
    Application.DisplayAlerts = False
    h2.Delete
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Dim FIN As Single
    If Sheets("Information").Range("A2") = "" Then Exit Sub
    FIN = WorksheetFunction.CountA(Sheets("Information").Range("A:A"))
    UserForm1.TextBox1 = Sheets("Information").Cells(FIN, 1)
    UserForm1.TextBox2 = Sheets("Information").Cells(FIN, 2)
    UserForm1.TextBox3 = Sheets("Information").Cells(FIN, 3)
    UserForm1.TextBox4 = Sheets("Information").Cells(FIN, 4)
    UserForm1.Modelo.Caption = Sheets("Information").Cells(FIN, 2)
    UserForm1.DEPARTAMENTO.Caption = Sheet3.Range("B1")
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas