Сортировка данных листа по значениям столбцов с помощью Excel VBA

У меня есть следующая пользовательская форма, разработанная в vba, которая берет информацию с листа для отображения информации

enter image description here

Я хочу заказать всю информацию афабетически по сегменту, это код:

Function llenarDatosTabla()

    Dim vList As Variant
    Dim ws As Worksheet: Set ws = Worksheets(BD_PRODXSIST)

    ListBox1.Clear

    With ws
        If (IsEmpty(.Range("AA2").Value) = False) Then

            Dim ultimoRenglon As Long: ultimoRenglon = devolverUltimoRenglonDeColumna("A1", BD_PRODXSIST)

            vList = ws.Range("AA2:AA" & ultimoRenglon & ":AL2").Value

            If IsArray(vList) Then
                Me.ListBox1.List = vList
            Else
                Me.ListBox1.AddItem (vList)
            End If

        End If

        Me.ListBox1.ListIndex = -1

    End With




    Set vList = Nothing
    Set ws = Nothing
End Function

Как сделать его заказанным столбцом " AD " (SEGMENTO)???

2 ответов


вы можете сортировать лист Excel в порядке возрастания с помощью оператора VBA следующим образом:

Columns("A:XFD").Sort key1:=Range("AD:AD"), order1:=xlAscending, Header:=xlYes

Примечание: в диапазоне столбца Columns("A:XFD") вместо XFD введите последний используемый столбец, относящийся к вашему случаю, например Columns("A:DD").

надеюсь, это поможет.


для сортировки таблицы данных, использовать Имена Excel в сочетании с CurrentRegion