Конечно, решение от 7 июня верное. Если вам нужно сохранить выбранные элементы, а затем вызвать и повторно выбрать элементы списка, попробуйте разделить запятую выбранных элементов с помощью этой функции
Public Function GetSelectedItems(combo As ListBox) As String
Dim result As String, varItem As Variant
For Each varItem In combo.ItemsSelected
result = result & "," & combo.ItemData(varItem)
Next
GetSelectedItems = Mid(result, 2)
End Function
Сохраните ее в одном столбце таблицы ипрочитав его обратно, передайте его этому подпункту:
Public Sub CreateComboBoxSelections(combo As ListBox, selections As String)
Dim N As Integer, i As Integer
Dim selectionsArray() As String
selectionsArray = Split(selections, ",")
For i = LBound(selectionsArray) To UBound(selectionsArray)
With combo
For N = .ListCount - 1 To 0 Step -1
If .ItemData(N) = selectionsArray(i) Then
.Selected(N) = True
Exit For
End If
Next N
End With
Next i
End Sub
Это позволит выбрать элементы в вашем ListBox такими, какими они были раньше.