您好,我的用户表单中的列表框数据遇到问题
当我尝试更改列表框连接的源文件时,它似乎没有改变
一开始它显示了良好的数据,但是当我尝试单击“运行日期”按钮时
它与我的范围内的值不匹配,该值被设置为我的排序键
这是我用于按升序和降序排序的运行日期按钮的代码
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之类的东西?
注意:我不需要关闭用户表单并再次打开即可查看更新的列表框
因此,当用户窗体处于活动模式(打开)时,我可以直接更新列表框值。
Thanks
而不是使用 var 并将数据分配给List
from var
, 您可以使用Named Range
工作表中的数据并分配属性
ListBox1.RowSource = "Name of the Range"
每次你想刷新的时候listbox
只需在代码中使用上述分配即可。如果您发现任何困难,请告诉我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)