Excel 对象必需错误-尝试使用范围中的值执行vlookup
我有一个电子表格(ws),它被“键入”一个ID,然后有关于该ID的信息。用户进行筛选选择以缩小显示的行数,然后单击按钮以显示关于这些相同ID的其他信息,但在第二个电子表格(ws3)中以列而不是行的形式显示。将数据放在第一张工作表的行上,第二张工作表的列上,数据的表示方式更有意义 所以,我最初的设计,主要是工作,但不是可重用的,因为我需要它是使用一个为每个循环嵌套在另一个。外部循环是所选ID的列表,内部循环(这很难看)遍历所有可能ID的整个列表以找到匹配项 找到匹配项后,数据将从第三个电子表格(ws5)复制到第二个工作表(ws3) 我试图改进代码的地方是用一个简单的vlookup替换内部循环,使用ws2中的一个列表告诉程序哪列数据对应于当前ID。我可以访问范围内当前单元格的值,但当我将其插入vlookup公式时,我会得到一个“需要对象”错误 以下是我正在使用的代码:Excel 对象必需错误-尝试使用范围中的值执行vlookup,excel,vba,object,Excel,Vba,Object,我有一个电子表格(ws),它被“键入”一个ID,然后有关于该ID的信息。用户进行筛选选择以缩小显示的行数,然后单击按钮以显示关于这些相同ID的其他信息,但在第二个电子表格(ws3)中以列而不是行的形式显示。将数据放在第一张工作表的行上,第二张工作表的列上,数据的表示方式更有意义 所以,我最初的设计,主要是工作,但不是可重用的,因为我需要它是使用一个为每个循环嵌套在另一个。外部循环是所选ID的列表,内部循环(这很难看)遍历所有可能ID的整个列表以找到匹配项 找到匹配项后,数据将从第三个电子表格(w
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim ws5 As Worksheet
Dim range1 As Range
Dim range2 As Range
Dim m As Integer
Dim i2 As Integer
Dim NewCol As Integer
Dim myCell As Range
Dim mycell2 As Range
Dim myArray As Variant
' range1 grabs the complete list of ids from ws
' range2 filters that list to the ids that are not filtered out
Set range1 = ws.Range("A5:A166")
Set range2 = range1.Rows.SpecialCells(xlCellTypeVisible)
' M is the column where the next column to on the target spreadsheet 4=Column D
m = 4
' now loop through selected visible ids
For Each myCell In range2 'loop through scrub ids we want to display cols for
' this is the code I am trying to get to work so I can do a vlookup
NewCol = Application.VLookup(Convert.ToInt32(mycell.Value), ws2.Range("A2:A146"), 2, False)
ws5.Activate
For i = 1 To UBound(myArray)
If myArray(i, 1) = mycell.Value Then
i2 = i - 2
ws5.Columns(myCols(i2, 1)).Copy Destination:=ws3.Columns(m)
m = m + 1
Exit For
End If
Next i
Next myCell
Convert.ToInt32
是VB.Net,而不是VBA。也许你想要CLng
。