Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1339|回复: 5

[已解决]如何更新列表框中内容

[复制链接]
发表于 2022-5-31 15:35 | 显示全部楼层 |阅读模式
本帖最后由 向前650809 于 2022-5-31 17:57 编辑

各位网友好,现列表框中内容为一列单元格中内容,现要选定列表框中某些项,选定后把工作表中相对应行删除。删除后要把列表框更新,被删除的行相对应的单元格内容不在列表框中显示。
请问如何更新列表框中内容,如何刷新列表框,如何刷新窗体,刷新窗体是运行加载UserForm_Initialize()内容吗,刷新代码如何写出
单元格中内容等于列表框中相应项如何表述,Sheet1.Cells(j, 1) = ListBox1.List(i).Text,如何更改,不知选定项内容如何用代码表示(选定多项中一项)列表框的ListStyle值0 1表示何意,MultiSelect值0 1 2都表示何意
请指导,谢谢






最佳答案
2022-6-1 09:24
本帖最后由 zjdh 于 2022-6-1 09:42 编辑

Private Sub UserForm_Initialize()
    刷新
End Sub
Private Sub 删除指定行_Click()
    m = Sheet1.Range("a65536").End(xlUp).Row
    For I = ListBox1.ListCount - 1 To 0 Step -1
        If ListBox1.Selected(I) = True Then Sheet1.Rows(I + 1).Delete '选定时则对应行删除
    Next I
    刷新
End Sub
Sub 刷新()
    Dim sz() As Integer
    m = Sheet1.Range("a65536").End(xlUp).Row
    ReDim sz(1 To m)
    For I = 1 To m
        sz(I) = Sheet1.Cells(I, 1)
    Next I
    ListBox1.Clear
    ListBox1.List = sz
End Sub
列表框.jpg

更新列表框.rar

10.18 KB, 下载次数: 2

发表于 2022-6-1 09:24 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zjdh 于 2022-6-1 09:42 编辑

Private Sub UserForm_Initialize()
    刷新
End Sub
Private Sub 删除指定行_Click()
    m = Sheet1.Range("a65536").End(xlUp).Row
    For I = ListBox1.ListCount - 1 To 0 Step -1
        If ListBox1.Selected(I) = True Then Sheet1.Rows(I + 1).Delete '选定时则对应行删除
    Next I
    刷新
End Sub
Sub 刷新()
    Dim sz() As Integer
    m = Sheet1.Range("a65536").End(xlUp).Row
    ReDim sz(1 To m)
    For I = 1 To m
        sz(I) = Sheet1.Cells(I, 1)
    Next I
    ListBox1.Clear
    ListBox1.List = sz
End Sub
回复

使用道具 举报

发表于 2022-6-1 09:41 | 显示全部楼层
ListStyle= 1-fmListStyleOption    ‘带选项框,   
                0-fmListStylePlan       不带选项框
MultiSelect = fmMultiSelectSingle(0)      只可选择一个条目(默认)。
                   fmMultiSelectMulti(1)       可选择多个条目
                   fmMultiSelectExtended(2)    只可选择一个条目(可组合于Shift或Ctrl键多选)
回复

使用道具 举报

发表于 2022-6-1 10:15 | 显示全部楼层
更新列表框.rar (9.96 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2022-6-15 09:27 | 显示全部楼层
ListBox1.Clear
    ListBox1.List = sz
上面代码是何意
代码ListBox1.Lis 是何意
代码ListBox1.Lis(i) 是何意,是第I+1个选择项内容吗
回复

使用道具 举报

发表于 2022-7-26 13:36 | 显示全部楼层
zjdh老师辛苦了!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 20:47 , Processed in 0.185893 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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