Excel 1004错误vlookup

时间:2016-10-17 19:32:26

标签: excel vba excel-vba

我有这句话:

LArticol.Caption = Application.WorksheetFunction.VLookup(Serie.Value,[TEST], 2, 0)

我的错误是运行时错误1004 我试过

LArticol.Caption = Application.WorksheetFunction.VLookup(Serie.Value,ThisWorkbook.Sheets("ELECTRICE").Range("TEST"), 2, 0)

但......同样的事情 我真的需要帮助

CODE:

Private Sub Serie_Change() 
    LArticol.Caption = Application.WorksheetFunction.VLookup(Serie.Value,ThisWorkbook.Sheets("ELECTRICE").Range("TEST"), 2, 0) End Sub

    Private Sub UserForm_Initialize() 
Call Serii 
End Sub

Serii模块

Sub Serii() 
Dim Ssheet As Worksheet 
Set Ssheet =
ThisWorkbook.Sheets("ELECTRICE") 
If Ssheet.Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
    sslr = 3 Else
    sslr = Ssheet.Cells(Rows.Count, 1).End(xlUp).Row 
End If 
For X = 3 To sslr
    UserForm1.Serie.AddItem Ssheet.Cells(X, 1) 
Next X 
End Sub

1 个答案:

答案 0 :(得分:0)

ELECTRICE是活动表吗? Application.WorksheetFunction.VLookup在活动表上运行,除非您另有说明。

此外,

ThisWorkbook.Sheets("ELECTRICE").Range("TEST")

将返回$A$3:$H$1048576。如果您希望它返回ELECTRICE!$A$3:$H$1048576,那么您应该使用

ThisWorkbook.Names("TEST").RefersTo

请记住,这需要将命名范围的范围定义为Workbook而不是特定工作表。

enter image description here