Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: babaymum

日报汇总到月报中

[复制链接]
 楼主| 发表于 2020-1-13 12:09 | 显示全部楼层
爱疯 发表于 2020-1-13 09:46
Sub test()
    Dim A, d, i, j, k, y
    A = Sheets(2).Range("a1").CurrentRegion

您好!感谢您的及时和积极回复
       可能我说的意思不明确,效果弄反了。
我是想:
   把月份里的前日库存导入到【汇总表】里的前日【存】的位置
这样做的理由是:
   有前日库【存】 + 当日【入】-当日【出】=当日【库存】
就是完整的一张 当日仓库日报
  当日【入】、【出】的数是从数据库里自动提取出来的,所以就差前日【存】
要是也可以从相应的【月】里自动填入就好了。

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2020-1-13 14:51 | 显示全部楼层
Option Explicit

Sub test()
    Dim A, d, i, j, k, y


    '1)key是品名+项目,item是行
    A = Sheets(2).Range("a1").CurrentRegion
    Set d = CreateObject("scripting.dictionary")
    For i = 2 To UBound(A)
        If A(i, 1) = "" Then A(i, 1) = A(i - 1, 1)
        d(A(i, 1) & A(i, 2)) = i
    Next


    '2)清除提示,并求前日y
    Sheets(1).Select
    Range("a:a").Replace "~?", ""
    A = Range("a1").CurrentRegion
    y = IIf(A(2, 5) = 1, DateSerial(Year(Date), A(2, 4), 0), A(2, 5) - 1)


    '3)表名是月,行是item,列是某日
    For i = 4 To UBound(A)

        '3-1 从每月写入到汇总
        k = A(i, 2) & A(3, 3)
        A(i, 3) = Sheets(A(2, 4) & "月").Cells(d(k), A(2, 5) + 2)

        '3-2 从汇总写入到每月
        For j = 4 To UBound(A, 2) - 1
            k = A(i, 2) & A(3, j)
            If d.exists(k) Then
                Sheets(A(2, 4) & "月").Cells(d(k), A(2, 5) + 3) = A(i, j)
            Else
                A(i, 1) = A(i, 1) & "?": Exit For
            End If
        Next

    Next


    '4)如果没有 品名+项目,则序号后面有问号
    [a1].Resize(UBound(A), UBound(A, 2)) = A
End Sub


出入库日报填入6.rar (51.14 KB, 下载次数: 14)

评分

参与人数 1学分 +2 收起 理由
babaymum + 2 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-1-13 16:05 | 显示全部楼层
爱疯 发表于 2020-1-13 14:51
Option Explicit

Sub test()

好感动!老师顾及到我的水平,还帮我把步骤分好,注释清楚。
效果完美展现!!!!
回复

使用道具 举报

发表于 2020-1-13 16:34 | 显示全部楼层
没什么,这样好查看和修改些
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 09:34 , Processed in 0.295145 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表