Attribute VB_Name = "Module5" Sub Button5_Click() Dim varArrayList() As Variant Dim strSelected As String Set cwb = ActiveWorkbook Set summarySheet = cwb.Worksheets("SUMMARY") Set secinfoSheet = cwb.Worksheets("SECURITIES INFO") Set dataSheet = cwb.Worksheets("INPUTS") Set fundingSheet = cwb.Worksheets("FUNDING") Set controlSheet = cwb.Worksheets("control") local_date_format = controlSheet.Range("DT_FORM_EX").NumberFormat sum_lr = summarySheet.Cells(summarySheet.Rows.Count, 1).End(xlUp).Row - 2 varArrayList = summarySheet.Range("a15:a" & sum_lr).Value 'varArrayList = Array("Sel1", "Sel2", "Sel3") strSelected = SelectionBoxSingle(varArrayList, "Выберите бумагу, по которой был начислен купон") End Sub Public Function SelectionBoxSingle(List As Variant, Optional Prompt As String, Optional Title As String) As String Dim varReturnList As Variant varReturnList = SelectionBoxMulti(List:=List, Prompt:=Prompt, SelectionType:=fmMultiSelectSingle, Title:=Title) If Not IsEmpty(varReturnList) Then If Not Len(Join(varReturnList, "")) = 0 Then SelectionBoxSingle = varReturnList(UBound(varReturnList)) End If End If End Function Public Function SelectionBoxMulti(List As Variant, Optional Prompt As String, Optional SelectionType As MSForms.fmMultiSelect = fmMultiSelectMulti, Optional Title As String) As Variant Dim SelectedValues() As Variant With FormSelectionBox If Len(Title) > 0 Then .Caption = Title .FillList List .Prompt = Prompt .ListBox.MultiSelect = SelectionType .Show If Not .IsCancelled Then Dim i As Integer, j As Integer With .ListBox For i = 0 To .ListCount - 1 If .Selected(i) Then ReDim Preserve SelectedValues(j) SelectedValues(j) = .List(i) j = j + 1 End If Next i End With SelectionBoxMulti = SelectedValues End If End With Unload FormSelectionBox End Function Sub Refresh_list() Attribute Refresh_list.VB_ProcData.VB_Invoke_Func = " \n14" Set cwb = ActiveWorkbook Set summarySheet = cwb.Worksheets("SUMMARY") sum_lr = summarySheet.Cells(summarySheet.Rows.Count, 1).End(xlUp).Row - 2 sum_fr = summarySheet.Range("SUM_F_ROW").Row summarySheet.Rows(sum_fr & ":" & sum_lr).AutoFilter summarySheet.AutoFilter.Sort.SortFields.Clear summarySheet.AutoFilter.Sort.SortFields.Add Key:= _ Range("H14:H" & sum_lr), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _ :=xlSortNormal With summarySheet.AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Selection.AutoFilter End Sub