ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求大神帮帮忙!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-3-4 20:42 | 显示全部楼层 |阅读模式
汇总工作表的C列里要是有等于米粉或者辅食小件里的A列的单号时插入一行,A,B,C,D,F,G,H,I,K都是等于上行的内容,e列里插入的行的话等于米粉或者辅食小件的C列,E列插入的行的上一行则等于自身的数减去插入行的数(插入行的数是米粉或者辅食小件的C列)。求大神帮帮忙,我已经琢磨了一天了还是没琢磨出来,所以来请教一下,我这个到底是哪里出问题了,件数总是不对(件数是E列执行后等于720才是正确的)能不能帮我修改一下我的代码,感激不尽!
  1. '  Dim arr, azz
  2.   '  Set d = CreateObject("scripting.dictionary") '字典
  3.    ' Set f = CreateObject("scripting.dictionary")
  4.     'With Sheets("辅食小件") '作用于工作表
  5.       '  arr = Sheets("辅食小件").UsedRange 'arr = 使用的单元格
  6.        ' azz = Sheets("米粉").Range([a1], [a65536].End(3))
  7.        ' For i = 1 To UBound(arr) ' i = 1到 使用的单元格
  8.       
  9.             
  10.             
  11.         '    d(arr(i, 1)) = i '字典 中的第一行等于 i
  12.         '    For Z = 1 To UBound(azz)
  13.         '
  14.       '      f(azz(Z, 1)) = Z
  15.      '   Next: Next
  16.    
  17.    ' End With
  18.    

  19.    
  20.   '  With Sheets("汇总工作表")
  21.   '      R = [a65536].End(xlUp).Row
  22.     '    arr = .Range("a1:c" & R)
  23.   '      For i = R To 1 Step -1
  24.             
  25.             
  26.             
  27.          '   If d.exists(arr(i, 3)) Then
  28.          '       Rows(i + 1).Insert
  29.       '          Cells(i + 1, 1) = Cells(i, 1)
  30.        '         Cells(i + 1, 2) = Cells(i, 2)
  31.        '         Cells(i + 1, 3) = Cells(i, 3)
  32.        '         Cells(i + 1, 4) = Cells(i, 4)
  33.       '          Cells(i + 1, 6) = Cells(i, 6)
  34.        '         Cells(i + 1, 7) = Cells(i, 7)
  35.         '        Cells(i + 1, 8) = Cells(i, 8)
  36.          '       Cells(i + 1, 9) = Cells(i, 9)
  37.         '        Cells(i + 1, 11) = Cells(i, 11)
  38.        '         Cells(i + 1, 10) = "辅食小"
  39.         '        Cells(i + 1, 5) = Application.VLookup(Cells(i + 1, 3), Worksheets("辅食小件").Range("A:C"), 3, 0)
  40.               
  41.             
  42.            '        End If
  43.         
  44.    
  45.    
  46.    'If f.exists(arr(i, 3)) Then
  47.    
  48.   '  Rows(i).Insert
  49.            '     Cells(i - 1, 1) = Cells(i, 1)
  50.            '     Cells(i - 1, 2) = Cells(i, 2)
  51.            ''     Cells(i - 1, 3) = Cells(i, 3)
  52.              '   Cells(i - 1, 4) = Cells(i, 4)
  53.             '    Cells(i - 1, 6) = Cells(i, 6)
  54.              '   Cells(i - 1, 7) = Cells(i, 7)
  55.              '   Cells(i - 1, 8) = Cells(i, 8)
  56.              '   Cells(i - 1, 9) = Cells(i, 9)
  57.              '   Cells(i - 1, 11) = Cells(i, 11)
  58.              '   Cells(i - 1, 10) = "米粉"
  59.              '   Cells(i - 1, 5) = Application.VLookup(Cells(i - 1, 3), Worksheets("米粉").Range("A:C"), 3, 0)
  60.    
  61.                   
  62.                '    End If
  63.     '    If f.exists(arr(i, 3)) Or d.exists(arr(i, 3)) Then Cells(i, 5) = Cells(i, 5) - (Cells(i + 1, 5) + Cells(i - 1, 5))
  64.         
  65.         
  66.         
  67.    
  68.       '  If Cells(i + 2, 10) & Cells(i + 1, 10) = "米粉小听粉" Or Cells(i + 2, 10) & Cells(i + 1, 10) = "米粉产品" Then  Cells(i, 5) = Cells(i + 1, 5) + Cells(i, 5)
  69.      
  70.   
  71.       
  72.      '
  73.     '   Next
  74.    
  75. '   End With
复制代码


工作簿1.rar

17.6 KB, 下载次数: 3

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-4 21:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
有人吗o(╥﹏╥)o

TA的精华主题

TA的得分主题

发表于 2019-3-4 21:59 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-3-4 22:03 | 显示全部楼层

问题都不难,也得自己把附件的逻辑说清楚把

2个表的辅助字符相同该取哪个值呢?
TIM截图20190304220219.png
222.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-4 22:22 | 显示全部楼层
fyure 发表于 2019-3-4 21:59
现在的附件E列相加不就是720吗

现在附件没执行,执行出来的效果应该是单号在表2和表3出现的都插入一行,然后件数要减去表2表3单号相同的件数

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-4 22:24 | 显示全部楼层
不知道为什么 发表于 2019-3-4 22:03
问题都不难,也得自己把附件的逻辑说清楚把

2个表的辅助字符相同该取哪个值呢?

都取,在两个表要是有重复的值,就插入两行,件数也是减去这插入的返回表2表3的件数

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-4 22:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
不知道为什么 发表于 2019-3-4 22:03
问题都不难,也得自己把附件的逻辑说清楚把

2个表的辅助字符相同该取哪个值呢?

我把附件重新上传下

工作簿1.rar

19.64 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2019-3-5 00:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-5 09:23 | 显示全部楼层

大神是这个意思,但是直接在原来的区域生成就好了,不用生成在旁边。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-5 09:28 | 显示全部楼层

还有J列如果是工作表米粉里有的则变成“米粉”,是工作表辅食小件里有的则变成”辅食小”。就是j+1,j+2单元格变成工作表2,工作表3的名字
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-1 22:42 , Processed in 0.047450 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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