find匹配值的行号并存储在variables中

根据input值,我想在表格中find单元格,并将行号存储在一个variables中。 这个variables将被用来将下一列的相应值与input数字相乘。 我的代码到目前为止:

Option Explicit Sub Calculate() Dim var As Variant Dim rownumber As Integer Dim Mx As Variant Dim Nx As Variant Dim Ox As Variant Dim Px As Variant Dim Qx As Variant Dim Rx As Variant Dim low As Variant Dim cat As Variant rownumber = WorksheetFunction.Match(Sheets("User Interface").Range("K27").Value, Sheets("C-type").Range("L5:L345"), 0) Mx = Sheets("User Interface").Range("K27").Value * Sheets("C-type").Range("M" & rownumber).Value Nx = Sheets("User Interface").Range("K27").Value * Sheets("C-type").Range("N" & rownumber).Value Ox = Sheets("User Interface").Range("K27").Value * Sheets("C-type").Range("O" & rownumber).Value Px = Sheets("User Interface").Range("K27").Value * Sheets("C-type").Range("P" & rownumber).Value Qx = Sheets("User Interface").Range("K27").Value * Sheets("C-type").Range("Q" & rownumber).Value Rx = Sheets("User Interface").Range("K27").Value * Sheets("C-type").Range("R" & rownumber).Value cat = Array(Mx, Nx, Ox, Px, Qx, Rx) low = Application.WorksheetFunction.Min(cat) Sheets("User Interface").Range("C45").Value = low Sheets("User Interface").Range("c45").Activate Application.Goto ActiveCell.EntireRow, True End Sub 

问题在于我的匹配函数出现范围错误,所以我开始怀疑这是正确的方法。 我需要以某种方式能够引用表中的匹配数字的行号,任何build议将不胜感激。

尝试这个

  strToFind = ThisWorkbook.Sheets("User Interface").Range("K27").Value Set Rng = ThisWorkbook.Sheets("C-type").Range("L5:L345") If Application.WorksheetFunction.CountIf(Rng, strToFind) > 0 Then Set Rng1 = Rng.Find(strToFind, LookIn:=xlValues, LookAt:=xlWhole) rownumber = Rng1.Row Else MsgBox strToFind & " does not exist in range " & Rng.Address End If