这个让我难住了。我正在用一个范围填充一个列表框,然后将第 4 列格式化为 d/mm/yyyy。如果第 4 列中的所有单元格都有日期,则此方法可以正常工作。由于填充到列表框中的某些单元格实际上是空白的,因此子在遇到这些单元格时会崩溃。如果没有运气,我尝试了各种 if 和 else 语句来跳过 activecell。
感谢任何帮助。亚历克斯五世
Sub populate_listbox_1()
Dim I As Long
Dim I2 As Long
Dim list_count As Long
Dim MyData As Range
Dim r As Long
With edit_report_input.compliments_listbox
.ColumnCount = 17
.ColumnWidths = "70;300;75;90;80;80;100;0;0;0;0;0;0;0;0;20;0"
.RowSource = ""
Set MyData = ActiveSheet.Range("A4:Q498") 'Adjust the range accordingly
.List = MyData.Cells.Value
For r = .ListCount - 1 To 0 Step -1
If .List(r, 1) = "" Then
.RemoveItem r
End If
Next r
End With
For I = 0 To edit_report_input.compliments_listbox.ListCount - 1
edit_report_input.compliments_listbox.List(I, 4) = Format(DateValue(edit_report_input.compliments_listbox.List(I, 4)), "d/mm/yyyy")
Next I
date_rec_compliment = Format(date_rec_compliment, "d/mm/yyyy")
End Sub