我有一個索引/匹配查找公式,我想在ActiveX窗體中加入。該代碼是VBA索引匹配
=IF(A2="","No Search Criteria",IFERROR(INDEX(AssetList,MATCH(A2,AssetList[Asset '#],0),1),INDEX(AssetList,MATCH(A2,AssetList[Serial '#],0),1))
) 這讓我尋找一個資產編號或項目的編號,並返回其資產編號。包含此代碼的單元格旁邊的單元格具有修改版本以返回其序列號,項目號和棘輪尺寸。我試圖創建一個表單,它將執行這些相同的功能,允許用戶在SearchCriteriaTextBox中輸入資產或序列號,並在SearchButton被單擊時將適當的值返回給AssetNumberListBox,SerialNumberListBox,ItemNumberListBox和RatchetSizeListBox。
到目前爲止我有:
Private Sub SearchButton_Click()
AssetNumberListBox.Value = Application.WorksheetFunction.Match(SearchCriteriaTextBox.Value, Sheet2.ListObjects("AssetList").ListColumns("Asset#").DataBodyRange, False)
SerialNumberListBox.Value =
ItemNumberListBox.Value =
RatchetSizeListBox.Value =
End Sub
但是這給了我「運行時錯誤‘9’:下標越界」當我點擊搜索按鈕。我對Excel和VBA非常新,所以如果任何人有任何想法,至少可以讓一個ListBox來填充,以便我可以將代碼調整到其他我會感激的地方。作爲參考,我在Windows 7上使用Excel 2010。
你好,感謝您的回覆。 – dubyarly
我發現一些網站建議使用INDEXMATCH比VLOOKUP更通用,所以我就使用了它。此外,謝謝指出列表框問題 - 我注意到事後並將其更改爲文本框。感謝您的建議,我會嘗試您的建議,看看我能想出什麼。 – dubyarly