ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > Listbox间数值转换

Listbox间数值转换

作者:绿色风 分类: 时间:2022-08-18 浏览:121
楼主
DJ_Soo
双击Listbox1中的值传递到Listbox2,双击Listbox2中的值,回到Listbox1:

 


Upload.zip
2楼
xyf2210
好玩
3楼
chenlifeng
如何单击左侧,就添加到右侧、左侧的没了,再单击右侧的,就转移支左侧?
4楼
chenlifeng
您的办法如果在下面的情况下,如何处理:
    即右边的方框,只有一个内容时,我们再去点击就会产生错误。
而加上一条:On Error Resume Next,则不能把最后剩下的这条,给移动到左边去。
5楼
DJ_Soo
可以判断一下,当只剩下一个的适合特殊处理一下即可.
6楼
chenlifeng
我用if ubound(arr)=1的办法进行了判断,结果发现了这个情况,不知道如何处理了:
1、当右侧只剩下两个元素时,我双击其中一个后,这时的情况与if符合,不出错;
2、当右侧只剩有一个元素时,我双击它之前,其情况也与上面的IF条件符合。
    这两者如何区别呢?又如何把最后的这一个元素给清理出去?请教了……
7楼
DJ_Soo
  1. '从数组中删除一个值
  2. Function Del_FromArr(arr As Variant, Str As String)
  3.     Dim Ro As Long
  4.     Dim lstRo As Long
  5.     Dim arrNew() As String
  6.     Dim tmp As Boolean
  7.    
  8.     lstRo = UBound(arr)
  9.     If lstRo = 1 Then Del_FromArr = Array(): Exit Function
  10.     ReDim arrNew(1 To lstRo - 1) As String
  11.     For Ro = 1 To lstRo
  12.         If arr(Ro) = Str Then
  13.             tmp = True
  14.         Else
  15.             arrNew(Ro + tmp) = arr(Ro)
  16.         End If
  17.     Next Ro
  18.     Del_FromArr = arrNew
  19. End Function

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap