EXCEL VBA 计算财务报表透视图计算汇总透视表

EXCEL VBA 计算财务报表透视图计算汇总透视表

python 复制代码
Sub 应退税额()
    Dim wbm As Workbook
    SelectedFile = Application.GetOpenFilename("Excel Files (*.xls; *.xlsx), *.xls; *.xlsx", , "请选择公司整体利润明细表", , False)
    Set wbm = Workbooks.Open(SelectedFile)
    Dim wm As Worksheet
    Set wm = wbm.Worksheets("返利明细表")
    Dim diccai As Object
    Set diccai = CreateObject("scripting.dictionary")
    Dim dic As Object
    Set dic = CreateObject("scripting.dictionary")
    For i = 2 To wm.Range("a" & wm.Cells.Rows.Count).End(xlUp).Row
        k = wm.Cells(i, 3).Value
        kdate = Year(k) & "年" & Month(k) & "月"
        kitem = wm.Cells(i, "j") / 1.22 * 0.22
        If Not diccai.exists(kdate) Then
            diccai.Add kdate, kitem
        Else
            diccai(kdate) = diccai(kdate) + kitem
        End If
        
        kshoudate = CDate(Year(wm.Cells(i, 6)) & "/" & Month(wm.Cells(i, 6)) & "/1")
        
        kdic = kdate & "-" & kshoudate
        kdicitem = wm.Cells(i, "k")
        If Not dic.exists(kdic) Then
            dic.Add kdic, kdicitem
        Else
            dic(kdic) = dic(kdic) + kdicitem
        End If
    Next
    
    wbm.Close
    Dim wz As Worksheet
    Set wz = ThisWorkbook.Worksheets("FLASH COMMERCE S.R.L 回票情况汇总表")
    For i = 3 To wz.Range("a" & wz.Cells.Rows.Count).End(xlUp).Row - 1
        k = wz.Cells(i, 2).Value
        wz.Cells(i, 3) = diccai(k)
        
        endcol = wz.Range(wz.Cells(2, 2), wz.Cells(2, 2)).End(xlToRight).Column
            For j = 5 To endcol
                k = wz.Cells(i, 2).Value & "-" & wz.Cells(2, j)
                wz.Cells(i, j) = dic(k)
            Next
        wz.Cells(i, 4).FormulaR1C1 = "=RC[-1]-SUM(RC[1]:RC[" & encol - 4 & "])"
    Next
        
    
    
    
    
    
End Sub
相关推荐
baihb102442 分钟前
Jenkins 构建流水线
运维·jenkins
BUG 4041 小时前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea1 小时前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
过过过呀Glik1 小时前
在 Ubuntu 服务器上添加和删除用户
linux·服务器·ubuntu
Java小白中的菜鸟3 小时前
centos7的磁盘扩容
linux·运维·服务器
黑客老陈4 小时前
面试经验分享 | 北京渗透测试岗位
运维·服务器·经验分享·安全·web安全·面试·职场和发展
橘子师兄4 小时前
如何在自己的云服务器上部署mysql
运维·服务器·mysql
@泽栖4 小时前
Docker 常用命令
运维·服务器·docker
黑子哥呢?5 小时前
Linux---防火墙端口设置(firewalld)
linux·服务器·网络
鲁正杰6 小时前
在一个服务器上抓取 Docker 镜像并在另一个服务器上运行
运维·服务器·docker