通过VBA查找值

时间:2017-12-01 08:03:26

标签: excel vba excel-vba

我需要帮助通过VBA查找A1和B列的D1和E1行。基本上,我将Type(A列)作为行标题并将Object(B列)转换为相应的Type。

我能够创建一个VBA代码来做到这一点,但我只是坚持使用查找功能。我能想到的唯一方法就是通过Vlookup函数来实现这一点,但我非常确定更好的方法是使用VBA在每一行输入公式这样做更有效,这将是单调乏味且麻烦的。

我已经尝试过对它进行研究,但似乎我对此也不屑一顾。如果你们中的任何一个人可以发布最全面的方式来做到这一点,我真的很感激。

enter image description here

这里是代码到目前为止的样子。

Set SearchTermData = Worksheets("Search Term Data")
Set Data = Worksheets("Data")

Dim AdGrpCount As Variant, CampHeader As Variant

SearchTermData.[A:B].Copy Data.[A1]

With Data

    [A2:A1048576].Copy [C1]
    [C:C].RemoveDuplicates Columns:=Array(1), Header:=xlNo
    CopyTransposed [C:C].SpecialCells(xlCellTypeConstants), [C1]
    [C2:C1048576].SpecialCells(xlCellTypeConstants).Clear

    AdGrpCount = [B2:B1048576].SpecialCells(xlCellTypeConstants).Count
    CampHeader = [C1:XFD1].SpecialCells(xlCellTypeConstants).Count

            For rowcnt = 2 To AdGrpCount
                check = Application.Match([C1], Cells(rowcnt, 1), 0)
                    If Application.IsNumber(check) Then
                        Cells(rowcnt, 2).Copy Cells(rowcnt, 3)
                    End If
            Next rowcnt
End With

1 个答案:

答案 0 :(得分:0)

创建此功能的一种非常简单的方法是将公式=IF($A2=D$1,$B2,"")放在单元格D2中,并将此公式复制到范围D2:E15。