我已经使用VBA代码创建了数据透视表,并将其命名为Pivot1。我要寻找的是设置动态VBA Vlookup代码,因为数据透视表中的行标题可能会不断变化。 我使用了匹配函数公式,将其应用于单元格但无法使用此函数编写VBA代码时,可以得到结果。
=IFERROR(VLOOKUP($D18,Pivot1!$A$4:$D$27,MATCH(E$17,Pivot1!$A$4:$E$4,0),0),0)
请帮助我在此VBA代码中添加此匹配功能-
Range("E18").Activate
ActiveCell.Value = Application.WorksheetFunction.VLookup(ActiveCell.Offset(0, -1), Sheets("Pivot1").Range("A1:E50"), 2, 0)
ActiveCell.Offset(1).Select
答案 0 :(得分:2)
如果您坚持使用Application.Match(),尽管Mat's Mug的建议中的GetPivotData似乎更合适,那么您将添加类似于Application.VLookUp()...我建议使用with语句,因此您不必重复输入相同的内容:
With Sheets("Pivot1")
ActiveCell.Value = Application.VLookup(ActiveCell.Offset(0, -1).Value, .Range("A4:D27"), Application.Match(ActiveCell.Offset(-1,0).Value, .Range("A4:E4"),0), 0)
End With