Excel 2007 VBA-使用VLOOKUP在不同工作表中查找值,并将结果存储在活动工作表中
我是这个小组和VBA的新手 我有一个工作表“T2”,行数可变。从第3行开始,我想查找“E”列中的项目编号和搜索工作表“支持”。项目编号可在“支持”的“A”列中找到。我需要将“B”列中的值作为支持(与该项目编号相关),并将其存储在工作表“T2”的“A”列中。然后我想对'T2'中的每一行重复这个过程,直到并包括最后一行 有人能帮我吗,因为我根本不能让它工作Excel 2007 VBA-使用VLOOKUP在不同工作表中查找值,并将结果存储在活动工作表中,excel,vba,Excel,Vba,我是这个小组和VBA的新手 我有一个工作表“T2”,行数可变。从第3行开始,我想查找“E”列中的项目编号和搜索工作表“支持”。项目编号可在“支持”的“A”列中找到。我需要将“B”列中的值作为支持(与该项目编号相关),并将其存储在工作表“T2”的“A”列中。然后我想对'T2'中的每一行重复这个过程,直到并包括最后一行 有人能帮我吗,因为我根本不能让它工作 感谢Vlookup部分,这应该是您所需要的 Sub with_some_name Dim result As String With Wor
感谢Vlookup部分,这应该是您所需要的
Sub with_some_name
Dim result As String
With Worksheets("T2")
result = Application.WorksheetFunction.VLookup(.Range("e3"), Worksheets("support").Range("A:B"), 2, False)
Range("A3").Value = result
End With
end sub
使用字典的变体:
Sub Test1()
Dim Dic As Object, key As Variant, oCell As Range, i&
Dim w1 As Worksheet, w2 As Worksheet
Set Dic = CreateObject("Scripting.Dictionary")
Set w1 = Sheets("Support")
Set w2 = Sheets("T2")
i = w1.Cells(Rows.Count, "A").End(xlUp).Row
For Each oCell In w1.Range("A1:A" & i)
If Not Dic.exists(oCell.Value) Then
Dic.Add oCell.Value, oCell.Offset(, 1).Value
End If
Next
i = w2.Cells(Rows.Count, "E").End(xlUp).Row
For Each oCell In w2.Range("E3:E" & i)
For Each key In Dic
If oCell.Value = key Then
oCell.Offset(, -4).Value = Dic(key)
End If
Next
Next
End Sub
使用vlookup的变体:
Sub Test2()
Dim oCell As Range
Dim w1 As Worksheet, w2 As Worksheet
Set w1 = Sheets("Support")
Set w2 = Sheets("T2")
i = w2.Cells(Rows.Count, "E").End(xlUp).Row
On Error Resume Next
For Each oCell In w2.Range("E3:E" & i)
oCell.Offset(, -4).Value = WorksheetFunction.VLookup(oCell.Value, w1.[A:B], 2, 0)
Next
End Sub
使用查找方法的变量:
Sub Test3()
Dim oCell As Range
Dim w1 As Worksheet, w2 As Worksheet
Set w1 = Sheets("Support")
Set w2 = Sheets("T2")
i = w2.Cells(Rows.Count, "E").End(xlUp).Row
On Error Resume Next
For Each oCell In w2.Range("E3:E" & i)
oCell.Offset(, -4).Value = w1.Cells(w1.Columns(1).Find(oCell.Value).Row, 2).Value
Next
End Sub
输出结果
请粘贴到目前为止的代码和任何错误消息。您好,谢谢您的回复,但我无法使其正常工作。运行任何这些后,表T2上没有显示任何内容。在第二个观点(VLookup)中,我得到了运行时错误1004,应用程序定义的或对象定义的错误。我在我的尝试中得到了很多。@tommill请在我的帖子中显示您的数据样本作为输出结果,以清楚地了解您的评论背后的问题嗨,谢谢您的回复,但它并没有起作用。这也会得到错误“1004”处理(如上所述)。