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失敗的命名範圍的方法範圍」。 錯誤發生在**處。我知道這與命名的ranged有關,因爲之前,當我編寫單元格的範圍即。 「A1:A215」起作用。我檢查了名稱範圍,它看起來是正確的。命名範圍的名稱也是正確的。我試圖首先激活工作簿,但錯誤仍在拋出。
對象_worksheet的方法範圍失敗,命名範圍爲
命名的範圍是:
= OFFSET(DrugCodeInventory!$A$2, 0, 0, COUNTA(DrugCodeInventory!$A:$A)-1,1)
我只想動態地選擇在我的工作表中的第一列。
嘗試使用不同的名稱作爲您的範圍(即與表格名稱不同) – 2013-03-23 04:15:18
對不起,我有點困惑。你是說範圍'DrugCodeInventory'是指'= OFFSET(DrugCodeInventory!$ A $ 2,0,0,COUNTA(DrugCodeInventory!$ A:$ A)-1,1)'? – 2013-03-23 05:22:57
沒有答案幫助嗎? (如果他們確實把他們+1) - 如果要麼意味着你的問題得到解決,那麼將其標記爲解決方案。 – whytheq 2013-04-01 18:10:28