ユーザー入力に基づいて、テーブルから製品の中で最も安価な代替品を計算しようとしています。 コードは になっています。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
で(「SubまたはFunctionが定義されていません」)のエラーを与えることです。今まで私は実行可能な解決策を見つけることができませんでした。誰でも私のトラブルシューティングを手伝ってもらえますか?
事前に感謝します。
ありがとう!それはそのエラーの世話をするのに役立った。 –