使用vba达到excel中下拉选项可多选的效果,查看网上的代码,成功做出来了,可是却会无限循环

使用vba达到excel中下拉选项可多选的效果,查看网上的代码,成功做出来了,可是却会无限循环,第1张

这段程序的原理简单说一下,你在下拉菜单里选一个值,这个值会保存下来为新值(newVal),然后undo,取到单元格修改前的值(oldVal),再把这两个值用逗号连起来。而你删除时也是在修改单元格,也会形成一个新值,这个新值并不是下拉菜单里选的。

比如原来单元格里是"1,2,3",下拉菜单里有1,2,3,你下拉菜单选1,那么新值就是1,和旧值合并为“1,2,3,1”如果你删除单元格里的3,那么新值为“1,2,”那么和旧值合并为"1,2,3,1,2,"

所以如果想删除东西,最好删除以后编辑状态下复制单元格内容,然后清空单元格再粘贴进去

用常数数组,看例子

Sub 宏1()

'

' 宏1 宏

'

'

    ActiveSheet.Range("$A$2:$K$320").AutoFilter Field:=3, Criteria1:=Array("M8" _

        , "代收款", "电信大客户", "宽带提速"), Operator:=xlFilterValues

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11282443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存