繁体   English   中英

Excel 2007 VBA - 使用VLOOKUP在不同工作表中查找值并将结果存储在活动工作表中

[英]Excel 2007 VBA - Use VLOOKUP to find value in different worksheet and store result in active sheet

我是这个小组和VBA的新手。

我有一个工作表'T2',行数可变。 从第3行开始,我想查找“E”列中找到的项目编号并搜索工作表“支持”。 项目编号可以在“支持”中的“A”列中的某处找到。 我需要将支持中的列'B'中的值(与该项目编号相关)并将其存储在工作表'T2'中的列'A'中。 然后我想对'T2'中的每一行重复这个过程,直到并包括最后一行。

任何人都可以帮助,因为我根本无法让它工作。

谢谢

对于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

使用find方法的变体:

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

输出结果

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM