excel - VBA - 如何使用 VLookup 从动态变化的数据透视表中检索总计
问题描述
我对在数据透视表上使用 VBA 和 Vlookups 非常陌生,因此在这里感谢任何帮助。我的第一张工作表中有一组帐号和名称的字符串,我需要检索我在单独工作表中的数据透视表中的总计。
例如:
我的第一张表“MOM YTD Totals”在单元格 A11:A600 中有以下内容(示例较短,但有时此列表会超过 600)
4-50000 其他杂项
4-50001全国
4-50002媒体
4-50003 赞助商
等等...
我想在 B11:B600 中填写与这些帐号和名称匹配的总金额,但是数据透视表的大小范围很广,我不知道每个月会有多少列。
第二张表“NW_pivot”具有我从单元格 Q6 开始创建的数据透视表(带有要查找的帐户的 Q 列),总计(数据透视表中的最后一列)是我想要拉入第一张表 B 列的金额.
等等...
有没有人对最简单的方法有任何提示?我已经用下面的代码尝试了很多变体,但我认为我离这里很远,应该使用 vlookup,但我什至不知道如何从数据透视表中的一个开始,所以我很抱歉。
子 MatchAccountTotals()
dim i As Long
dim j As Long
dim lastrow1 As Long
dim lastrow2 As Long
dim lastcol1 As Long
dim accountName As String
lastrow1=sheets("MOM YTD Totals").range("A" & Rows.Count).end(xlUp).row
For i=11 to lastrow1
accountName=sheets("MOM YTD Totals - All Entities").cells(i, "A").value
Sheets("NW_Pivot").Activate
lastrow2=Sheets("NW_Pivot").range("Q" & Rows.Count).end(xlUp).row
lastcol1=Sheets("NW_Pivot").Cells(6,columns.count).End(xlToLeft).Column
For j=6 To lastrow2
if sheets("NW_Pivot").cells(j,"Q").value=accountName
sheets("NW_Pivot").cells(j,"lastcol")).copy
sheets("MOM YTD Totals").activate
sheets("MOM YTD Totals").cells(i,"D").select
activesheet.paste
End If
Next j
application.CutCopyMode=False
Next i
sheets("MOM YTD Totals").Activate
sheets("MOM YTD Totals").range("A1").select
结束子
非常欢迎任何提示,谢谢!
解决方案
推荐阅读
- python - 在 Python 中返回上一个浏览器窗口
- java - 对如何将反应式范式与 DDD 一起使用的疑问 - 域存储库
- php - 所有行jquery中的性能问题循环
- python - Keras.applications 源代码的更改导致 localhost 中缺少变量时出错
- ansible - 通过 one_vm 配置多个后如何在 OpenNebula 中的虚拟机上继续执行 ansible 脚本
- wpf - WPF - 在 App.Resource 中定义 SolidColorBrush 的别名(StaticResourceExtension?)
- reactjs - 如何在 react 和 react native 中使用现有的放大后端
- microsoft-graph-api - O365 图表,在某些邮箱上下载邮件时出现奇怪错误,而不是全部
- django-rest-framework - DRF 序列化程序问题
- reactjs - React 路由器无法导航