我有一個索引匹配公式,它在我搜索帶有字母的字符串時正常工作,但在與字符串一起使用時返回1004錯誤數字。我試着將application.workheetfunction.match改爲application.match,它返回錯誤13:類型不匹配。我認爲問題在於它無法匹配只包含數字的字符串,但我需要一種方法來實現。並混合(例如:6262 HE)格式:因爲它包含的數字(6128 EX)使用VBA中的索引/匹配搜索數字時類型不匹配
application.worksheetfunction.index(sheet4.range("AMD[Product Number]"), _
application.WorksheetFunction.Match(sheet1.Searchbox.Value,sheet4.Range("AMD[Model]"),0))
AMD [模型]列格式化爲一般。 我不認爲它是相關的,但AMD [產品編號]列格式化爲一般。
有什麼辦法可以重寫代碼使其工作?
編輯:這裏是一些更多的代碼。我不知道它會有多大用處。上面的代碼是孤立的問題。
Dim SB As String, SBn As Boolean, FirstPN As String, FirstPNQTY As Long
SB = Sheet1.Searchbox.Text
SBn = IsNumeric(SB)
Select Case SBn
Case True
FirstPN = Application.WorksheetFunction.Index(Sheet4.Range("AMD[Part Number]"), _
Application.WorksheetFunction.Match(SB, Sheet4.Range("AMD[Model]"), 0))
FirstPNQTY = Application.WorksheetFunction.Index(Sheet4.Range("AMD[Qty]"), _
Application.WorksheetFunction.Match(FirstPN, Sheet4.Range("AMD[Part Number]"), 0))
With Sheet1
.tTitle5 = "Select Next PN"
.tField5.Text = FirstPN
.bTitle5 = "Current PN QTY"
.bField5.Text = FirstPNQTY
End With
這使得與收盤paranthessis一個錯誤,我(寧)的猜測。它應該是這樣的...... .... sheet4.Range(「AMD [Model]」),0))' –
我錯誤地鍵入了問題中的公式,但它在工作簿中格式正確。 – Scionara
以何種方式定義了「搜索框」屬性? –