Excel精英培训网

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

[已解决]提示过程过大,求各位大神帮忙精简一下,本人小白一枚

[复制链接]
发表于 2017-7-5 08:25 | 显示全部楼层 |阅读模式
本帖最后由 大西瓜vs小宇宙 于 2017-7-5 11:32 编辑

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$6" Then [F6] = [F6] + [I6]
If Target.Address = "$I$7" Then [F7] = [F7] + [I7]
If Target.Address = "$I$9" Then [F9] = [F9] + [I9]
........................
End Sub共700多行,提示过程过大,哪位大神能帮忙精简一下或者提供别的代码
在当日完成里边填上数据后,能够在开累数量和当月完成里边自动累加,开累数量和当月完成数据不相等
最佳答案
2017-7-5 14:08
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If not Intersect(Target, Range("i:i")) Is Nothing Then
Target.Offset(0, -3).value = Target.value+Target.Offset(0, -3).value
End If
Application.EnableEvents = True
End Sub
32V`LG$02Q545B)8Z5BPD@2.png
发表于 2017-7-5 08:52 | 显示全部楼层
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Column >5 Then
        Target.Value = Target.Value + Target.Offset(0, 3).Value
    End If
    Application.EnableEvents = True
End Sub
回复

使用道具 举报

发表于 2017-7-5 09:18 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-7-5 09:36 | 显示全部楼层
QCW911 发表于 2017-7-5 08:52
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Ta ...

木看懂,这个过程怎么使用?
回复

使用道具 举报

发表于 2017-7-5 10:05 | 显示全部楼层
为什么8,14,17...等行不求
回复

使用道具 举报

 楼主| 发表于 2017-7-5 11:18 | 显示全部楼层
爱疯 发表于 2017-7-5 10:05
为什么8,14,17...等行不求

有些行没数据,提示过程太大就删了,结果还是不行,上传帖子也有字数要求,删减了一部分,一共是700多行
回复

使用道具 举报

 楼主| 发表于 2017-7-5 11:20 | 显示全部楼层
爱疯 发表于 2017-7-5 10:05
为什么8,14,17...等行不求

我是想做一个每日完成量统计的表,然后一个当月完成的累加,和一个累计完成,这个得怎么编
回复

使用道具 举报

发表于 2017-7-5 11:21 | 显示全部楼层
建议上传少量数据,模拟结果,以便理解
回复

使用道具 举报

 楼主| 发表于 2017-7-5 11:26 | 显示全部楼层
本帖最后由 大西瓜vs小宇宙 于 2017-7-5 11:28 编辑
爱疯 发表于 2017-7-5 11:21
建议上传少量数据,模拟结果,以便理解

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$3" Then [F3] = [F3] + [I3]
If Target.Address = "$I$4" Then [F4] = [F4] + [I4]
If Target.Address = "$I$5" Then [F5] = [F5] + [I5]
End Sub
填写当日完成的数量后,能够在开累数量和当月完成产生累加数据,开累数量和当月完成数值不能一样,不知描述的是否明确

32V`LG$02Q545B)8Z5BPD@2.png
回复

使用道具 举报

发表于 2017-7-5 14:08 | 显示全部楼层    本楼为最佳答案   
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If not Intersect(Target, Range("i:i")) Is Nothing Then
Target.Offset(0, -3).value = Target.value+Target.Offset(0, -3).value
End If
Application.EnableEvents = True
End Sub
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 14:32 , Processed in 0.945598 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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