gpt4 book ai didi

源更改时 VBA 刷新用户窗体列表框数据

转载 作者:行者123 更新时间:2023-12-02 21:44:19 24 4
gpt4 key购买 nike

您好,我的用户表单中的列表框数据遇到问题当我尝试更改列表框连接的源文件时,它似乎没有改变

一开始它显示了良好的数据,但是当我尝试单击“运行日期”按钮时

enter image description here

它与我的范围内的值不匹配,该值被设置为我的排序键

enter image description here

这是我的运行日期按钮代码,用于升序和降序排序

Private Sub CommandButton1_Click()

Application.EnableEvents = False

Worksheets("combobox_value").Activate
Dim strDataRange As Range
Dim keyRange As Range
Set strDataRange = Range("I2:L4")
Set keyRange = Range("I2:I4")

If Range("M2").Value = "D" Then

strDataRange.Sort Key1:=keyRange, Order1:=xlDescending
Range("M2").Value = "A"
Else
strDataRange.Sort Key1:=keyRange, Order1:=xlAscending
Range("M2").Value = "D"
End If
Application.EnableEvents = True
End Sub

这就是我初始化列表框中的值的方式

Private Sub UserForm_Initialize()
'set ListBox properties on initialization of UserForm
Set sht = ThisWorkbook.Worksheets("combobox_value")
lastRow_combobox_column = sht.Cells(sht.Rows.Count, "I").End(xlUp).Row


With ListBox1
.ColumnCount = 4
.ColumnWidths = "100"
.ColumnHeads = False
.ControlTipText = True
End With

'Load Worksheet Range directly to a ListBox:
Dim var As Variant


var = Sheets("combobox_value").Range("I2:L" & lastRow_combobox_column)


Me.ListBox1.List = var


End Sub

有办法刷新我的列表框吗? Listbox1.refresh之类的东西?

注意:我不需要关闭用户表单并再次打开即可查看更新的列表框因此,当用户窗体处于事件模式(打开)时,我可以直接更新列表框值..

谢谢

最佳答案

您可以使用工作表中数据的命名范围并分配属性(property)
ListBox1.RowSource = "范围名称"

每次您想要刷新列表框时,只需在代码中使用上述分配即可。如果您发现任何困难,请告诉我。

关于源更改时 VBA 刷新用户窗体列表框数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31363607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com