Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7179|回复: 11

为什么功能按键点了没反应失效了

[复制链接]
发表于 2020-7-6 20:39 | 显示全部楼层 |阅读模式
3学分
本帖最后由 linhj0003 于 2020-7-8 07:45 编辑

A1_.zip (444.66 KB, 下载次数: 3)

最佳答案

发表于 2020-7-6 20:39 | 显示全部楼层
改了

A1_.rar

421.82 KB, 下载次数: 7

评分

参与人数 1学分 +3 收起 理由
linhj0003 + 3 学习,谢谢

查看全部评分

回复

使用道具 举报

发表于 2020-7-7 12:50 | 显示全部楼层
“录入”按钮指向模块1内的代码,从if语句可以看出,程序往下执行需要满足两个条件
1,当前日期<44177("2020-12-12"),这个没有问题
2,单元格J6,7,8...非空,且K6,7,8...在表格BOM中存在
3,如果程序没有正确执行,请参考第1,2条。



回复

使用道具 举报

 楼主| 发表于 2020-7-7 13:12 | 显示全部楼层
这个别人帮忙做的,现在能否帮忙将这个代码修改下,
1,取消时间范围要求
2,能正常使用,不会出现失灵的情况
回复

使用道具 举报

发表于 2020-7-7 13:54 | 显示全部楼层
物料打印里的数据来源于bom表里等于料号(c2单元格)的数据是不?那就直接找料号,填上仓位,日期就完事了呗,实际数量跟配料数量是一致的不?
回复

使用道具 举报

 楼主| 发表于 2020-7-7 14:04 | 显示全部楼层
shuidisyy 发表于 2020-7-7 13:54
物料打印里的数据来源于bom表里等于料号(c2单元格)的数据是不?那就直接找料号,填上仓位,日期就完事了 ...

可以的 ,能修改下吗
回复

使用道具 举报

发表于 2020-7-7 14:59 | 显示全部楼层
你应该写一下需求,你的代码太乱了,我猜你需要往bom表里填的数据只有日期,配料数量跟实际数量啥关系?
回复

使用道具 举报

 楼主| 发表于 2020-7-8 07:44 | 显示全部楼层
shuidisyy 发表于 2020-7-7 14:59
你应该写一下需求,你的代码太乱了,我猜你需要往bom表里填的数据只有日期,配料数量跟实际数量啥关系?

附件重新上传了一份,需求写了一下,不知道是否写清楚,能帮忙看下吗

回复

使用道具 举报

发表于 2020-7-8 08:42 | 显示全部楼层
我昨天写了一下,你看是
  1. Sub test()
  2.     Dim i%, k%, irow%, str$, dt
  3.     Dim dic As Object, arr, brr, crr
  4.     irow = Sheet2.Cells(Rows.Count, 3).End(3).Row
  5.     dt = Sheet2.Cells(1, 3)
  6.     str = Sheet2.Range("j2")
  7.     arr = Sheet2.Range("a6:k" & irow).Value
  8.     Set dic = CreateObject("scripting.dictionary")
  9.     ReDim brr(1 To UBound(arr), 1 To 4)
  10.     For i = 1 To UBound(arr)
  11.         If arr(i, 10) = "" Then Exit For
  12.         dic(UCase(arr(i, 11))) = arr(i, 10)
  13.         k = k + 1
  14.         brr(k, 1) = dt
  15.         brr(k, 2) = arr(i, 3)
  16.         brr(k, 3) = str
  17.         brr(k, 4) = arr(i, 10)
  18.     Next i
  19.     irow = Sheet3.Cells(Rows.Count, 3).End(3).Row + 1
  20.     Sheet3.Cells(irow, 3).Resize(k, 4) = brr
  21.     irow = Sheet1.Cells(Rows.Count, "p").End(3).Row
  22.     crr = Sheet1.Range("m5:p" & irow).Value
  23.     For i = 1 To UBound(crr)
  24.         If dic.exists(UCase(crr(i, 4))) Then
  25.             crr(i, 2) = dic(UCase(crr(i, 4)))
  26.             crr(i, 3) = dt
  27.         End If
  28.     Next i
  29.     Sheet1.Range("m5").Resize(UBound(crr), 4) = crr
  30. End Sub
复制代码
你的需求不?我现在传不了附件,贴一下代码吧。新附件我也看不了
回复

使用道具 举报

 楼主| 发表于 2020-7-8 09:37 | 显示全部楼层
shuidisyy 发表于 2020-7-8 08:42
我昨天写了一下,你看是你的需求不?我现在传不了附件,贴一下代码吧。新附件我也看不了

A1——2_.zip (445.71 KB, 下载次数: 2)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 21:02 , Processed in 0.161386 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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