我正在尝试根据用户输入计算表中产品的最便宜替代方案。 代码应该为 a)取一个输入数字,产品尺寸(从用户界面表单中的K19开始),并将其与表格中的正确行相匹配,以便找到此尺寸的不同选择。 b)将特定成本与大小相乘,以便得到每个备选方案的总成本(因此变量Mx,Nx等是每个备选方案的具体成本)。 c)将总成本存储在一个数组中,并找到这些数字中最小的数字,这些数字在用户界面中以C45的形式返回给用户。计算单元格并存储在数组中以查找最小值; “min”功能给出问题
所描述的代码示例:
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
var = Range(WorksheetFunction.Match(Sheets("User Interface").Range("K19"), Sheets("C-type").Range("L1:L10000"), 0)).Value
rownumber = var.Row
Mx = var * Range("M" & rownumber).Value
Nx = var * Range("N" & rownumber).Value
Ox = var * Range("O" & rownumber).Value
Px = var * Range("P" & rownumber).Value
Qx = var * Range("Q" & rownumber).Value
Rx = var * Range("R" & rownumber).Value
cat = Array("Mx", "Nx", "Ox", "Px", "Qx", "Rx")
low = Min(cat).Value
Sheets("User Interface").Range("C45").Value = low
Sheets("User Interface").Range("c45").Activate
Application.Goto ActiveCell.EntireRow, True
End Sub
的问题是,VBA给人以low = Min(cat).Value
即使从我发现我想我使用正确的语法(“子或函数未定义”)的错误。到目前为止,我找不到任何可行的解决方案。任何人都可以帮我解决问题吗?
非常感谢提前!
谢谢!这有助于照顾到这个错误。 –