您有一个VBA脚本,它非常简单地从数据透视表中的总计中复制数据并将它们传递到另一个工作表中。 代码:
Public Sub Update_Tracker_TS_Custody()
Sheets("TS_Custody_Pivot").Select
Sheets("TS_Custody_Pivot").Range("B05:C05").Copy
Sheets("TS_Custody_Tracking").Cells(Rows.Count, "C").End(xlUp).Offset(1). _
PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets("TS_Custody_Tracking").Select
n = Cells(Rows.Count, "C").End(xlUp).Row
Range("A" & n) = Date
Range("B" & n) = Time End Sub
我的问题是我的Pivot表状态可以改变所以有一天我可以有5个不同的状态总数而另一个只有4个与5个状态时的顺序不同。因此,当VBA脚本复制到新工作表上时,它不会在所有状态下正确排列
e.g。 第1天
州1州2州3州4州5
第2天
州1州2州3州5
如何让VBA脚本进行复制和匹配,这样如果缺少状态4,它仍然会在另一个工作表的右列下复制1,2,3,5并将状态4中的0复制。
答案 0 :(得分:0)
我已经能够通过使用
从数据透视表中创建另一个表来对自己进行排序=IFERROR(GETPIVOTDATA("State",$A$3,"State","New"),0)
然后使用宏来复制表中的数据