Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: cunfu2010

[已解决]B列可多选下拉菜单,C列选项值相加

[复制链接]
 楼主| 发表于 2016-12-9 07:50 | 显示全部楼层
苏子龙 发表于 2016-12-9 07:45
不知道你说的是什么意思,如果判断输入要奇偶,那么在change加个判断,个人水平有限可能帮不了你,希望楼 ...

谢谢,你看看附件,点击一下A列就知道了,总是自动添加或自动删除,查了半天不知道问题在哪儿
回复

使用道具 举报

发表于 2016-12-9 09:24 | 显示全部楼层
cunfu2010 发表于 2016-12-9 07:50
谢谢,你看看附件,点击一下A列就知道了,总是自动添加或自动删除,查了半天不知道问题在哪儿
  1. Private Sub ListBox1_Change()
  2. If ListBox1.ListIndex = -1 Then Exit Sub
  3.     Dim i&, s$
  4.     With ListBox1
  5.         For i = 0 To .ListCount - 1
  6.             If .Selected(i) Then s = s & "," & .List(i)
  7.         Next
  8.        ActiveCell.Value = Mid(s, 2)
  9.     End With
  10. End Sub
复制代码
上面不动,改这个事件啊,而且单元格还能按清单排序,是否这样?

评分

参与人数 1 +3 收起 理由
cunfu2010 + 3 很给力

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-12-9 09:52 | 显示全部楼层
苏子龙 发表于 2016-12-9 09:24
上面不动,改这个事件啊,而且单元格还能按清单排序,是否这样?

太感谢了。
回复

使用道具 举报

 楼主| 发表于 2016-12-9 13:30 | 显示全部楼层
苏子龙 发表于 2016-12-9 09:24
上面不动,改这个事件啊,而且单元格还能按清单排序,是否这样?

如果单元格不按清单排序,保持原有顺序(实现需要),如何修改
回复

使用道具 举报

发表于 2016-12-9 13:33 | 显示全部楼层
cunfu2010 发表于 2016-12-9 13:30
如果单元格不按清单排序,保持原有顺序(实现需要),如何修改

自己再想想
回复

使用道具 举报

 楼主| 发表于 2016-12-9 13:57 | 显示全部楼层

好的,多想想会更深刻
回复

使用道具 举报

 楼主| 发表于 2016-12-9 20:46 | 显示全部楼层

有点笨,还是求助吧
回复

使用道具 举报

 楼主| 发表于 2016-12-11 15:02 | 显示全部楼层
苏子龙 发表于 2016-12-9 09:24
上面不动,改这个事件啊,而且单元格还能按清单排序,是否这样?

如何才能让单元格不排序?谢谢!!!
回复

使用道具 举报

发表于 2016-12-12 09:53 | 显示全部楼层
cunfu2010 发表于 2016-12-11 15:02
如何才能让单元格不排序?谢谢!!!
  1. Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) '用这个触发
  2.     Dim w$, n%
  3.     w = ActiveCell       '取出单元格数据
  4.     w = Replace(w, ",", " ") '将逗号换成空格,用工作表函数trim去除多余空格后再加逗号
  5.     With ListBox1
  6.         For n = 0 To .ListCount - 1
  7.             If .Selected(n) = True And InStr(w, .List(n)) = 0 Then  '当有选定和没有找到,则加入
  8.                 w = w & " " & .List(n)
  9.             ElseIf .Selected(n) = False And InStr(w, .List(n)) > 0 Then '当没有选定及单元格内有数据,则删除
  10.                 w = Replace(w, .List(n), "")
  11.             End If
  12.         Next
  13.         w = Application.WorksheetFunction.Trim(w) '去除多余的空格
  14.        ActiveCell.Value = Replace(w, " ", ",")
  15.     End With
  16. End Sub
复制代码


评分

参与人数 1 +3 收起 理由
cunfu2010 + 3 很给力

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-12-12 12:11 | 显示全部楼层

非常感谢,佩服!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 11:28 , Processed in 0.348526 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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