Private Sub Submit_Click()
Application.ScreenUpdating = False
Dim rangeForCode As range, rngLookupRange As range
Dim row As Integer, stock As Integer
Dim result As Integer
Dim drugCodePC As Integer
Dim qty As Integer
Dim ws As Worksheet
drugCodePC = CInt(DrugCode2.Value)
qty = CInt(Quantity.Value)
'Populating the drug name
Set ws = Worksheets("Drug Record")
ws.Select
*Set rangeForCode = ws.range("DrugCodeInventory")*
row = Application.WorksheetFunction.Match(drugCodePC, rangeForCode, 1)
Set rngLookupRange = ws.range("Inventory")
stock = Application.WorksheetFunction.VLookup(drugCodePC, rngLookupRange, 3, False)
result = stock + qty
'MsgBox (row)
ws.Cells(row + 1, 3).Value = result
Application.ScreenUpdating = True
Unload PurchaseForm
End Sub
これにより、「オブジェクト _worksheet のメソッド範囲が名前付き範囲に失敗しました」というエラーがスローされ続けます。**でエラーが発生します。名前付きの範囲と関係があることはわかっています。以前、セルの範囲を書いたときです。「A1:A215」 動作します。名前の範囲を確認しましたが、正しいようです。名前付き範囲の名前も正しいです。最初にワークブックをアクティブ化しようとしましたが、それでもエラーがスローされます。
名前付き範囲は次のとおりです。
= OFFSET(DrugCodeInventory!$A$2, 0, 0, COUNTA(DrugCodeInventory!$A:$A)-1,1)
ワークシートの最初の列のみを動的に選択したい。