ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 简化此代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-2-2 16:19 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Column = 2 And Target.Row > 2 Then
  3.         r = Target.Row
  4.         If Target <> "" Then
  5.             Cells(r, "e") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  6.         Else
  7.             Cells(r, "e") = ""
  8.         End If
  9.     End If
  10.     'If Target.Column = 12 And Target.Row > 3 Then
  11.            'r = Target.Row
  12.            'a = Target.Column
  13.            'If Target = "拆解","定损","备件","机电待修","机电修","钣金待修","钣金修","待前处理","前处理","喷底漆","底漆打磨","待喷漆","喷漆","钣金待装","钣金装","待抛光","抛光","待交车","返修","完工" Then
  14.                'Cells(r, a + 12) = Format(Now, "yyyy-mm-dd hh:mm:ss")
  15.            'End If
  16.        'End If
  17.      If Target.Column = 12 And Target.Row > 3 Then
  18.            r = Target.Row
  19.            If Target = "拆解" Then
  20.                Cells(r, "m") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  21.            End If
  22.        End If
  23.     If Target.Column = 12 And Target.Row > 3 Then
  24.            r = Target.Row
  25.            If Target = "定损" Then
  26.                Cells(r, "n") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  27.            End If
  28.        End If
  29.    If Target.Column = 12 And Target.Row > 3 Then
  30.            r = Target.Row
  31.            If Target = "备件" Then
  32.                Cells(r, "o") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  33.            End If
  34.        End If
  35.     If Target.Column = 12 And Target.Row > 3 Then
  36.            r = Target.Row
  37.            If Target = "机电待修" Then
  38.                Cells(r, "p") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  39.            End If
  40.        End If
  41.     If Target.Column = 12 And Target.Row > 3 Then
  42.            r = Target.Row
  43.            If Target = "机电修" Then
  44.                Cells(r, "q") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  45.            End If
  46.        End If
  47.     If Target.Column = 12 And Target.Row > 3 Then
  48.            r = Target.Row
  49.            If Target = "钣金待修" Then
  50.                Cells(r, "r") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  51.            End If
  52.        End If
  53.     If Target.Column = 12 And Target.Row > 3 Then
  54.            r = Target.Row
  55.            If Target = "钣金修" Then
  56.                Cells(r, "s") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  57.            End If
  58.        End If
  59.     If Target.Column = 12 And Target.Row > 3 Then
  60.            r = Target.Row
  61.            If Target = "待前处理" Then
  62.                Cells(r, "t") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  63.            End If
  64.        End If
  65.     If Target.Column = 12 And Target.Row > 3 Then
  66.            r = Target.Row
  67.            If Target = "前处理" Then
  68.                Cells(r, "u") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  69.            End If
  70.        End If
  71.      If Target.Column = 12 And Target.Row > 3 Then
  72.            r = Target.Row
  73.            If Target = "喷底漆" Then
  74.                Cells(r, "v") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  75.            End If
  76.        End If
  77.      If Target.Column = 12 And Target.Row > 3 Then
  78.            r = Target.Row
  79.            If Target = "底漆打磨" Then
  80.                Cells(r, "w") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  81.            End If
  82.        End If
  83.      If Target.Column = 12 And Target.Row > 3 Then
  84.            r = Target.Row
  85.            If Target = "待喷漆" Then
  86.                Cells(r, "x") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  87.            End If
  88.        End If
  89.      If Target.Column = 12 And Target.Row > 3 Then
  90.            r = Target.Row
  91.            If Target = "喷漆" Then
  92.                Cells(r, "y") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  93.            End If
  94.        End If
  95.      If Target.Column = 12 And Target.Row > 3 Then
  96.            r = Target.Row
  97.            If Target = "钣金待装" Then
  98.                Cells(r, "z") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  99.            End If
  100.        End If
  101.      If Target.Column = 12 And Target.Row > 3 Then
  102.            r = Target.Row
  103.            If Target = "钣金装" Then
  104.                Cells(r, "aa") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  105.            End If
  106.        End If
  107.      If Target.Column = 12 And Target.Row > 3 Then
  108.            r = Target.Row
  109.            If Target = "待抛光" Then
  110.                Cells(r, "ab") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  111.            End If
  112.        End If
  113.      If Target.Column = 12 And Target.Row > 3 Then
  114.            r = Target.Row
  115.            If Target = "抛光" Then
  116.                Cells(r, "ac") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  117.            End If
  118.        End If
  119.      If Target.Column = 12 And Target.Row > 3 Then
  120.            r = Target.Row
  121.            If Target = "待交车" Then
  122.                Cells(r, "ad") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  123.            End If
  124.        End If
  125.      If Target.Column = 12 And Target.Row > 3 Then
  126.            r = Target.Row
  127.            If Target = "返修" Then
  128.                Cells(r, "ae") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  129.            End If
  130.        End If
  131.      If Target.Column = 12 And Target.Row > 3 Then
  132.            r = Target.Row
  133.            If Target = "完工" Then
  134.                Cells(r, "af") = Format(Now, "yyyy-mm-dd hh:mm:ss")
  135.            End If
  136.        End If
  137. 100:
  138.     Application.EnableEvents = True
  139. End Sub
复制代码
中间工序可能跳过,但需要将时间显示在各自固定区域,跳过的工序不显示时间。

TA的精华主题

TA的得分主题

发表于 2022-2-8 09:00 | 显示全部楼层
select case

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-11 13:26 | 显示全部楼层

主要是我还没有入门,还在门边徘徊

TA的精华主题

TA的得分主题

发表于 2022-2-11 21:31 | 显示全部楼层
虽然不懂vba,不过循环加数组变量应该可以吧……

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-13 21:24 | 显示全部楼层
白栎 发表于 2022-2-11 21:31
虽然不懂vba,不过循环加数组变量应该可以吧……

门边徘徊,求带带

TA的精华主题

TA的得分主题

发表于 2022-2-14 10:27 | 显示全部楼层
张明福 发表于 2022-2-13 21:24
门边徘徊,求带带

有没有样表?有的话我试着做做看……

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-14 20:56 | 显示全部楼层
上传了,请指教,谢谢!

车间管理报表 - 副本.rar

799.95 KB, 下载次数: 7

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-14 20:57 | 显示全部楼层
白栎 发表于 2022-2-14 10:27
有没有样表?有的话我试着做做看……

上传了,请指点,谢谢!

TA的精华主题

TA的得分主题

发表于 2022-2-14 21:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Dim arr1()
  2. arr1 = Array("拆解", "定损", "备件", "机电待修", "机电修", "钣金待修", "钣金修", "待前处理", "前处理", "喷底漆", "底漆打磨", "待喷漆", "喷漆", "钣金待装", "钣金装", "待抛光", "抛光", "待交车", "返修", "完工")

  3. If Target.Column = 12 And Target.Row > 3 Then
  4.         r = Target.Row
  5.         for i =0 to 19
  6.                 If Target = arr1(i) Then
  7.                         Cells(r, i+12) = Format(Now, "yyyy-mm-dd hh:mm:ss")
  8.                 End If
  9.         next i
  10. End If
复制代码


因为完全没搞懂你那段代码是啥意思,于是只能瞎折腾了……数组+循环大概就这么一个意思……

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-19 06:59 | 显示全部楼层
白栎 发表于 2022-2-14 21:56
因为完全没搞懂你那段代码是啥意思,于是只能瞎折腾了……数组+循环大概就这么一个意思……

谢谢,非常感谢你,我试一下
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 21:02 , Processed in 0.036483 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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