我正在尝试编写VBA代码。 我在Excel中有2个工作表:
第一张:“包含我所有工作结果的初始结果”
第二张:“结果标签”
我正在尝试在名为Id
的第一行中找到某个值,在Id
列中找到两个特定ID号(86和66)并复制结果(位于右侧的两列)特定单元格中的第二张表。
谢谢你们!
答案 0 :(得分:0)
试试这个
Sub Demo()
Dim srcSht As Worksheet, destSht As Worksheet
Dim srcLR As Long, destLR As Long
Dim cel As Range, srcRng As Range
Set srcSht = ThisWorkbook.Sheets("Results for init")
Set destSht = ThisWorkbook.Sheets("Result Tab")
With srcSht
srcLR = .Cells(.Rows.Count, "C").End(xlUp).Row 'get last row with data in srcSht using Column C
Set srcRng = .Range("C2:E" & srcLR) 'set range for look up
End With
With destSht
destLR = .Cells(.Rows.Count, "A").End(xlUp).Row 'get last row with data in destSht using Column A
For Each cel In .Range("A2:A" & destLR) 'loop through each cell in Column a of destSht
cel.Offset(0, 1).Value = WorksheetFunction.VLookup(cel, srcRng, 3, False) 'get vlookup result
Next cel
End With
End Sub
使用公式解决方案:
假设您的数据位于工作表Results for init
中,则在工作表Cell B2
的{{1}}中输入以下公式
Result tab
或
=VLOOKUP(A2,'Results for init'!$C$2:$E$10,3,FALSE)
根据需要拖动/复制公式。根据您的数据更改范围=INDEX('Results for init'!$E$2:$E$10,MATCH(Sheet3!A2,'Results for init'!$C$2:$C$10,0))
。见图片以供参考。
结果标签表