Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: tubing78

[已解决]用VBA实现筛选和多条件求和

[复制链接]
 楼主| 发表于 2014-5-4 16:45 | 显示全部楼层
grf1973 发表于 2014-5-4 15:51
请看附件。把前面自动显示D列的问题也解决了。原来ListBox的KeyDown事件中多了句 Application.EnableEvents ...

OK了   万分感谢
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2014-5-6 19:02 | 显示全部楼层
grf1973 发表于 2014-5-4 15:51
请看附件。把前面自动显示D列的问题也解决了。原来ListBox的KeyDown事件中多了句 Application.EnableEvents ...




grf1973还得再麻烦你一下
能不能让明细表B列回车输入后光标移到右边的单元格,一直到M列后 光标移到下一行的A列

我在网上查说是要用:Application.MoveAfterReturnDirection = xlToRight
但是我放到那也不管用
回复

使用道具 举报

发表于 2014-5-7 10:57 | 显示全部楼层
不用那么麻烦。
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim xrng As Range
  3.     If Target.Count > 1 Or Target.Row = 1 Then Exit Sub
  4.     col = Target.Column
  5.     If col = 2 Then
  6.         Set xrng = Sheet4.Range("b:b").Find(Target, lookat:=xlWhole)
  7.         If Not xrng Is Nothing Then Target.Offset(0, 2) = xrng.Offset(0, 1)
  8.         Target.Offset(0, 1).Select
  9.     End If
  10.     If col = 3 Then Target.Offset(0, 2).Select
  11.     If col = 1 Or (col >= 5 And col <= 10) Then Target.Offset(0, 1).Select
  12.     If col = 13 Then Cells(Target.Row + 1, 1).Select
  13. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-5-7 17:54 | 显示全部楼层
本帖最后由 tubing78 于 2014-5-7 18:03 编辑
grf1973 发表于 2014-5-7 10:57
不用那么麻烦。
到最后一列时也不会跳到下一行的A列

还有一个问题就是 如果不在选择默认第一个单位名称,B列的还是会向下  D列也不自动输入
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 22:27 , Processed in 0.359591 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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