2016-10-12 29 views
0

我想使用VLOOKUP命令,並使用表B中的範圍(不在激活的A中)。調用新的工作表使我的錯誤「‘運行時錯誤1004’激活工作表類的方法失敗」工作表類失敗的激活方法 - vlookup - vba

Public Sub Creation() 

    Worksheets("A").Activate 

    Randomize 
    Dim code As String 
    Dim hamid As Variant 
    Dim Lookup_Range As Range 
    Code = 100032 
    Set Lookup_Range = Worksheets("B").Range("O1:P8") 
    On Error Resume Next 
    hamid = Application.WorksheetFunction.VLookup(code, Lookup_Range, 2, False) 
    On Error GoTo 0 

End sub 

我已經使用帶有命令調用新的工作表試過,但我沒有成功。我是VBA新手,請耐心等待。

+0

哪條線會引發錯誤? –

+0

此行 工作表(「A」)。激活 –

+0

它確實存在。正當我添加查找coed時,此錯誤彈出。否則,沒有查找的其餘代碼完美地工作。 –

回答

0

您的查找範圍似乎在工作表B.嘗試在使用查找功能之前激活工作表B.我遇到了試圖在一個工作表上定義範圍,同時激活另一個工作表的問題:

Public Sub Creation() 

Worksheets("A").Activate 

Randomize 
Dim code As String 
Dim hamid As Variant 
Dim Lookup_Range As Range 
code = 100032 
'Try here: 
Worksheets("B").Activate 
Set Lookup_Range = Worksheets("B").Range("O1:P8") 
On Error Resume Next 
'or here: 
Worksheets("B").Activate 
hamid = Application.WorksheetFunction.VLookup(code, Lookup_Range, 2, False) 
On Error GoTo 0 
'also made 'Code' in lookup function 'code'. 
End Sub 
+0

KPG你是對的。另外運行代碼後,我必須再次激活工作表「A」以讓代碼運行代碼的其餘部分。 –

+0

很高興你的工作! – kpg987