Я собираюсь создать пользовательскую форму, которая будет вызываться макросом в Excel 2013, чтобы восстановить некоторые значения из электронной таблицы, и мне нужно, чтобы поля со списком заполнялись на основе существующих значений. Заселение по диапазону достаточно простое, это нормально работает, но, конечно, они все перепутаны и часто дублируются несколько раз. Короче говоря, я получаю это:Как заполнить combobox в пользовательской форме с каждым уникальным значением из диапазона, отсортированным по алфавиту?
Charlie
Quebec
Echo
Zulu
Alpha
Quebec
... когда то, что я хочу это:
Alpha
Charlie
Echo
Quebec
Zulu
У меня уже есть динамические диапазоны, установленные для каждого из диапазонов источника.
Что было бы самым эффективным способом его обработки?
EDIT: Подробнее.
Наборы данных хранятся на листе "Saved Schedules"
, каждый из которых задан в строке. На данный момент я использую столбец Vessel Name
(C). Идея состоит в том, чтобы выбрать фильтры, чтобы сузить список вниз, затем выберите конкретный рейс в Voyage Code
вверху формы. (Желтые поля справа просматривают данные, поэтому операторы видят, что они собираются загрузить.) По сути, базовые данные находятся на листе, фильтруются «на лету» параметрами фильтра в пользовательской форме и в результате рейса коды, поданные в поле со списком Voyage Code
для выбора.
EDIT: Я попытался предложение Дуги шубы, отредактирован следующим образом применить к моей форме:
EDIT СНОВА: Исправленная инициализации юга имя.
Private Sub UserForm_Initialize()
Me.Combo_Rest_VoyageCode.List = wsSaves.Range("SAVE_VoyageCode").Value ' VOYAGE CODE
Dim Ray, i As Integer, j As Integer, Temp As String
With Combo_Rest_VoyageCode
Ray = Application.Transpose(.List)
For i = 1 To UBound(Ray) - 1
For j = i To UBound(Ray)
If Ray(j) < Ray(i) Then
Temp = Ray(i)
Ray(i) = Ray(j)
Ray(j) = Temp
End If
Next j
Next i
.List = Ray
End With
End Sub
Однако он не имеет никакого успеха. Может быть, есть что-то, что не применимо к комбобоксам ActiveX?
Вы хотите начать с набора ячеек или из текущего содержимого выпадающего списка ?? –
Это отфильтровать доступные строки источника на листе для управляемой выборки для combobox - я уточню детали в вопросе для справки. –