Excel精英培训网

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

[已解决]如何把listbox1中的数据移到listbox2中,要求l把istbox1中的源数据删除

[复制链接]
 楼主| 发表于 2014-9-21 15:12 | 显示全部楼层
本帖最后由 jessylake 于 2014-9-21 15:44 编辑
无聊的疯子 发表于 2014-9-21 13:08
方法1,先循环把选择了的移出去,并记录选择的信息条数
然后再循环把已经选择了的删除掉,删除的条数和选 ...


终于倒腾出来了,就用了一次正循环,总的来看,应该没有大错,老师你给看看:

Private Sub CommandButton4_Click()

    a = ListBox1.ListCount
    b = 0
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i - b) Then
            k = TextBox4.Value
            ListBox2.AddItem
            If a = ListBox1.ListCount Then
                ListBox2.List(k, 0) = ListBox1.List(i, 0)
                ListBox2.List(k, 1) = ListBox1.List(i, 1)
                ListBox1.RemoveItem (i)
            Else
                ListBox2.List(k, 0) = ListBox1.List(i - b, 0)
                ListBox2.List(k, 1) = ListBox1.List(i - b, 1)
                ListBox1.RemoveItem (i - b)
            End If
            b = b + 1
            ListBox2.Selected(k) = True
            TextBox4.Value = k + 1
        End If
    Next

end sub


初步测了测,好像可以了,等有时间再研究
回复

使用道具 举报

发表于 2014-9-21 17:39 | 显示全部楼层
这样岂不简单
Private Sub CommandButton4_Click()
    With ListBox1
        R = .ListCount - 1
        For i = 0 To R
            If i > R Then Exit For
            If .Selected(i) Then
                K = TextBox4.Value
                ListBox2.AddItem
                ListBox2.List(K, 0) = .List(i, 0)
                ListBox2.List(K, 1) = .List(i, 1)
                TextBox4.Value = K + 1
                .RemoveItem (i)
                i = i - 1
                R = R - 1
            End If
        Next
    End With
End Sub
回复

使用道具 举报

 楼主| 发表于 2014-9-21 17:42 | 显示全部楼层
zjdh 发表于 2014-9-21 17:39
这样岂不简单
Private Sub CommandButton4_Click()
    With ListBox1

精彩!就想要老师的代码,标准,这样才能学到东西,自己写的就是瞎玩儿,呵呵
回复

使用道具 举报

发表于 2014-9-21 17:52 | 显示全部楼层
若是倒序无所谓的话更简单:
Private Sub CommandButton4_Click()
    With ListBox1
        For i = .ListCount - 1 To 0 Step -1
            If .Selected(i) Then
                K = ListBox2.ListCount
                ListBox2.AddItem
                ListBox2.List(K, 0) = .List(i, 0)
                ListBox2.List(K, 1) = .List(i, 1)
                .RemoveItem (i)
                TextBox4.Value = TextBox4.Value + 1
            End If
        Next
    End With
End Sub
回复

使用道具 举报

 楼主| 发表于 2014-9-21 17:57 | 显示全部楼层
zjdh 发表于 2014-9-21 17:52
若是倒序无所谓的话更简单:
Private Sub CommandButton4_Click()
    With ListBox1

谢谢老师,呵呵,当做标本收藏
回复

使用道具 举报

发表于 2014-9-21 19:20 | 显示全部楼层
学习学习中
回复

使用道具 举报

发表于 2014-9-21 21:30 | 显示全部楼层
jessylake 发表于 2014-9-21 17:57
谢谢老师,呵呵,当做标本收藏

移出去的倒是删除了,如果移错了,要移回来呢?

要求移回来的时候要保持它原来的位置,这是给你的作业哈!

这作业不准拿出来问了哦!
回复

使用道具 举报

 楼主| 发表于 2014-9-21 22:54 | 显示全部楼层
本帖最后由 jessylake 于 2014-9-23 15:24 编辑


终于单词可以两边随便折腾了,呵呵,连模糊筛选出来的都可以随便调整了

按表选择需要的单词打印成单词条10.rar

35.49 KB, 下载次数: 0

回复

使用道具 举报

 楼主| 发表于 2014-9-23 15:21 | 显示全部楼层
本帖最后由 jessylake 于 2014-9-23 20:43 编辑
zjdh 发表于 2014-9-21 17:52
若是倒序无所谓的话更简单:
Private Sub CommandButton4_Click()
    With ListBox1

终于单词可以两边随便折腾了,呵呵,连模糊筛选出来的都可以随便调整了
按表选择需要的单词打印成单词条10.rar (33.09 KB, 下载次数: 27)
回复

使用道具 举报

发表于 2014-9-23 17:54 | 显示全部楼层
jessylake 发表于 2014-9-21 22:54
终于单词可以两边随便折腾了,呵呵,连模糊筛选出来的都可以随便调整了

自己觉得搞好了,达到目的了就行了,学代码在于折腾“必需要自攻”

有这么一句话 “要练此功,必先自攻”,
说的就是自己多练习,
“若不自攻,必不成功”,都不知道练习,怎么可能成功呢?

如果有人说“嘿,我还真没做过练习就把代码写成功了”,

那只能告诉他“你根本不知道什么叫成功”
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 13:10 , Processed in 0.345904 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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