You can used named ranges to populate a listbox, and named ranges can be dynamic.
You can also not use the ListFillRange property to popuate the listbox, and doing that might prevent the problem you describe.
For example to populate a listbox from column A on Sheet1:
Private Sub Worksheet_Activate()
With Worksheets("Sheet1")
Me.Listbox1.Clear
Me.Listbox1.List = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Value
End With
End Sub
This code would go in the worksheet module of the sheet the listbox is on.
Bookmarks