我正在尝试从其他工作表中获取值,并将其与我在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
。
答案 0 :(得分:2)
如果要摆脱公式,只需将其粘贴为值即可:
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