vba数据透视表多重和计算区域,同比环比表,更新数据源并设置格式
思路
1.选中并存储两个文件夹中的文件
2.遍历本月文件进行数据源更新
1)打开对应两个文件
2)获取页标签(moutharr数组)
3)存储新数据源并更新
4)筛选字段一并按求和项:值降序排列(由于多重和计算区域为两个数据透视表的数据,会有汇总和总计字段)
5)设置环比增长率的基本字段和值显示方式并且设置条件格式为值<0的红色背景
完整代码
Dim lastRow As Long, lastCol As Long
Sub 多个环比表更新数据源()
'
' 在本月文件中粘贴这段代码
'
Dim prePathStr As String, shtCount As Integer, preWb As Workbook, preFile As String, SearchText As String
Dim nowPathStr As String, nowFile As String, count As Integer, wb As Workbook
Dim drr() As String, arrName() As String
'冻结屏幕,以防屏幕抖动
Application.ScreenUpdating = False
nowPathStr = ThisWorkbook.Path + "\" '获取本月路径
Call 获取文件夹路径(prePathStr) '获取上个月文件夹的存储路径
preFile = Dir(prePathStr & "*.xls*") '遍历上个月文件夹的所有文件名
count = -1
Do While preFile <> "" '上个月文件
count = count + 1
ReDim Preserve drr(count)
drr(count) = preFile
preFile = Dir 'next one
Loop
nowFile = Dir(nowPathStr & "*.xls*") '遍历本月文件夹的所有文件名
'On Error Resume Next '后续出错,程序不中断
Do While nowFile <> "" '本月文件