VBA EXCEL:使用ListBox中的值作为Match WorksheetFunction中的Lookup值

我想知道如何使用application.worksheetfunction.match(lookup_value, lookuparray, match type)查找从列表 application.worksheetfunction.match(lookup_value, lookuparray, match type)select的值(单击application.worksheetfunction.match(lookup_value, lookuparray, match type)

编辑:

这是一个“假定”是一个button(Reservebutton)的“ReservationName”是一个文本框的保留button将数字从可用列表框添加到保留列表框,然后删除在可用列表框中select的数字。 我是一名编程初学者,请记住我的错误。 非常感谢。

 Private Sub ReserveButton_Click() Dim Locator, RowData, NListBoxValue As Double Locator = Application.WorksheetFunction.Count(Worksheets("Reserved").Range("A:A")) For r = 0 To AvailableNumberList.ListCount - 1 RowData = Application.WorksheetFunction.Match(AvailableNumberList.List(r), Worksheets("Activation").Range("A:A"), 0) If AvailableNumberList.Selected(r) = True Then If ReservationName.Value = "" Or ReservationName.Value = "Enter Full Name" Then ErrorResult = MsgBox("Error: Name field is empty", vbCritical + vbOKOnly, "Error In Field") ElseIf Application.WorksheetFunction.VLookup(AvailableNumberList.List(r), Activation.Range("A:E"), 4, False) <> "FREE" Then ErrorResult = MsgBox("Error: Number is Not Free", vbCritical + vbOKOnly, "Error In Reservation") Else ReservedNumberList.AddItem AvailableNumberList.List(r) Worksheets("Reserved").Range("A" & Locator + 2) = AvailableNumberList.List(r) Worksheets("Reserved").Range("B" & Locator + 2) = Worksheets("Activation").Cells(RowData, 2) Worksheets("Reserved").Range("C" & Locator + 2) = Worksheets("Activation").Cells(RowData, 3) Worksheets("Reserved").Range("D" & Locator + 2) = ReservationName.Value AvailableNumberList.Clear Worksheets("Reserved").Rows(RowData).Delete ThisWorkbook.Save Call AvailableList End If End If Next r End Sub 

码:

 Application.WorksheetFunction.Match(<Form>.<Listbox>,Range("<LookupSheet>!A:A"),0)