ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 399|回复: 11

[求助] 检核多个门店的调拨表是否正确

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-3 18:02 | 显示全部楼层 |阅读模式
一个工作簿中有多个工作表,每个工作表中体现门店的调入调出,怎么做一个检核表检核多个门店的调拨表是否正确?
A门店写了调拨3箱产品给B,B门店填写的数据是否和A店一致

image.png



调拨表检核-.rar

49.28 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2024-7-3 20:52 | 显示全部楼层
本帖最后由 quqiyuan 于 2024-7-3 22:10 编辑

晚上尝试了一下写个长一点的代码,测试成功的,仅供参考,看看是否合适咯。。。
更新了下,请参考 test1
image.png
image.png
image.png

调拨表检核-.zip

68.86 KB, 下载次数: 4

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-4 10:22 | 显示全部楼层
quqiyuan 发表于 2024-7-3 20:52
晚上尝试了一下写个长一点的代码,测试成功的,仅供参考,看看是否合适咯。。。
更新了下,请参考 test1
...

很可以!但是有点小问题,他的表头会重复 image.png

调拨表检核-2.rar

53.28 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2024-7-4 10:49 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
LLLWM 发表于 2024-7-4 10:22
很可以!但是有点小问题,他的表头会重复

你的数据放到第5行及往下,表头不能在这,代码里已经写了,否则要改代码

TA的精华主题

TA的得分主题

发表于 2024-7-4 11:44 | 显示全部楼层
额,改了,就是没有考虑到如果没有的情况,造成把标题作为数组了,加了条件,OK了。供参考。。。
小花走起。。。
image.png
image.png
image.png

调拨表检核-2.zip

58.5 KB, 下载次数: 2

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-7-4 11:49 | 显示全部楼层
代码如下。。。

Sub test1()
    Dim sh As Worksheet, sht As Worksheet
    Set d = CreateObject("scripting.dictionary")
    Set sh1 = ThisWorkbook.Sheets("核对")
    sh1.UsedRange.Offset(1).ClearContents
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> "检核表" And sh.Name <> "核对" Then
            d.RemoveAll
            r = sh.Cells(Rows.Count, 1).End(3).Row
            If r > 4 Then
                arr = sh.Range("a5:g" & r)
                For i = 1 To UBound(arr)
                    For j = 1 To 7
                        s = s & arr(i, j)
                    Next
                    If s <> "" Then d(s) = i
                    s = Empty
                Next
                For Each sht In ThisWorkbook.Worksheets
                    If sh.Name <> "检核表" And sh.Name <> "核对" Then
                        If sht.Name <> sh.Name Then
                            r = sht.Cells(Rows.Count, 8).End(3).Row
                            brr = sht.Range("h5:n" & r)
                            For i = 1 To UBound(brr)
                                s = brr(i, 3) & brr(i, 2) & brr(i, 1)
                                For j = 4 To 7
                                    s = s & brr(i, j)
                                Next
                                If d.exists(s) Then d.Remove s
                                s = Empty
                            Next
                        End If
                    End If
                Next
                If d.Count > 0 Then
                                                    'MsgBox sh.Name & "调出没有问题!"
                                                    'Else: MsgBox sh.Name & "调出有问题!" & "有:" & d.Count & "个问题!"
                    For Each Item In d.items
                        r = sh1.Cells(Rows.Count, 1).End(3).Row + 1
                        For i = 1 To 7
                            sh1.Cells(r, i) = arr(Item, i)
                        Next
                    Next
                End If
            End If
        End If
    Next
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> "检核表" And sh.Name <> "核对" Then
            d.RemoveAll
            r = sh.Cells(Rows.Count, 8).End(3).Row
            If r > 4 Then
                arr = sh.Range("h5:n" & r)
                For i = 1 To UBound(arr)
                    s = arr(i, 3) & arr(i, 2) & arr(i, 1)
                    For j = 4 To 7
                        s = s & arr(i, j)
                    Next
                    If s <> "" Then d(s) = i
                    s = Empty
                Next
                For Each sht In ThisWorkbook.Worksheets
                    If sh.Name <> "检核表" And sh.Name <> "核对" Then
                        If sht.Name <> sh.Name Then
                            r = sht.Cells(Rows.Count, 1).End(3).Row
                            brr = sht.Range("a5:g" & r)
                            For i = 1 To UBound(brr)
                                For j = 1 To 7
                                    s = s & brr(i, j)
                                Next
                                If d.exists(s) Then d.Remove s
                                s = Empty
                            Next
                        End If
                    End If
                Next
                If d.Count > 0 Then
                                                        'MsgBox sh.Name & "调入没有问题!"
                                                        'Else: MsgBox sh.Name & "调入有问题!" & "有:" & d.Count & "个问题!"
                    For Each Item In d.items
                        r = sh1.Cells(Rows.Count, 8).End(3).Row + 1
                        For i = 1 To 7
                            sh1.Cells(r, i + 7) = arr(Item, i)
                        Next
                    Next
                End If
            End If
        End If
    Next
    Set d = Nothing
    Beep
    sh1.Activate
    With sh1.UsedRange.Offset(1)
        .HorizontalAlignment = xlCenter
    End With
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-7-8 11:19 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-5 16:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
quqiyuan 发表于 2024-7-4 11:49
代码如下。。。

Sub test1()

你好,本月门店实际操作之后我放了几个门店进去,检核的时候会提示“运行时错误'13: 类型不匹配”是为什么呢?

调拨表检核-2-2.rar

296.53 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2024-8-5 16:54 | 显示全部楼层
LLLWM 发表于 2024-8-5 16:27
你好,本月门店实际操作之后我放了几个门店进去,检核的时候会提示“运行时错误'13: 类型不匹配”是为什 ...

image.png
image.jpg
内容错误会造成代码中的字符串不同类型错误

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-8-6 18:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
quqiyuan 发表于 2024-8-5 16:54
内容错误会造成代码中的字符串不同类型错误

如果这个调拨表不考虑调拨日期一致应该怎么设置呢?因为A门店有可能8/3调出去,B门店8/5才收到
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-23 18:32 , Processed in 0.048795 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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