Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Vlookup在vba中查找两个工作表之间的值_Excel_Vba - Fatal编程技术网

Excel Vlookup在vba中查找两个工作表之间的值

Excel Vlookup在vba中查找两个工作表之间的值,excel,vba,Excel,Vba,我试图从不同的工作表中获取值,并将其与a列主工作表中的姐妹数据进行匹配,但我在获得正确结果方面遇到了问题,我曾考虑采用Vlookup方法,但我无法使其正常工作。我找到了一个很有趣的方法来完成它,但我试图保存的只是值,而不是公式本身 这是我一开始试过的 Sub matchID() 'Dim wb As Workbook 'Set wb = ActiveWorkbook ' 'With wb.Sheets("Data") ' .Range("E2:E" & .Range("A" &am

我试图从不同的工作表中获取值,并将其与a列主工作表中的姐妹数据进行匹配,但我在获得正确结果方面遇到了问题,我曾考虑采用Vlookup方法,但我无法使其正常工作。我找到了一个很有趣的方法来完成它,但我试图保存的只是值,而不是公式本身

这是我一开始试过的

Sub matchID()
'Dim wb As Workbook
'Set wb = ActiveWorkbook
'
'With wb.Sheets("Data")
'    .Range("E2:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Formula = "=VLOOKUP(A2,ID!A:B,2,FALSE)"
'End With
'the above works but need to save values and not formula
它有点工作,但我需要的是值,而不是公式,我的计划是找到我需要的数据,然后将文件的副本保存为csv

我尝试使用其他方法,但遇到运行时错误“1004” 我仍然在学习VBA,所以我觉得我现在正在转动我的轮子。 有人能告诉我我做错了什么吗

Sub matchID()
'this is what I'm trying to get to work but unsure if I will still end up with formula and not just values

Dim result As String
Dim sheet As Worksheet
Dim lrow As Integer
Dim i As Integer
Set sheet = ActiveWorkbook.Sheets("Data")

lrow = sheet.UsedRange.Rows(sheet.UsedRange.Rows.Count).Row

For i = 2 To lrow
    result = Application.WorksheetFunction.VLookup("A2", Sheets("ID").Range("A:B"), 2, False)
    Cells(i, 5).Value = result
Next
End Sub

我正在尝试使用主工作表(“数据”)中A列中的值查找第二张工作表(“ID”)中的所有ID(B列),然后填充主工作表中E列中的所有结果,使其匹配


我的第一次尝试有点奏效,但它没有在单元格中只留下公式中的值,例如,
=VLOOKUP(A2,ID!A:B,2,FALSE)
,而实际上我只是在查找单击单元格前显示的值
8447

如果要删除公式,只需粘贴为值:

Sub matchID()
    Dim wb As Workbook
    Set wb = ActiveWorkbook

    With wb.Sheets("Data")
        .Range("E2:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Formula = "=VLOOKUP(A2,ID!A:B,2,FALSE)"
        .Range("E2:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Value = .Range("E2:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
    End With
End Sub

如果要删除公式,只需粘贴为值:

Sub matchID()
    Dim wb As Workbook
    Set wb = ActiveWorkbook

    With wb.Sheets("Data")
        .Range("E2:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Formula = "=VLOOKUP(A2,ID!A:B,2,FALSE)"
        .Range("E2:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Value = .Range("E2:E" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
    End With
End Sub