Simon

The reason the comboboxes aren't being populated is because you start the loop at 2.

You could change the 2 to LBound(avalues) but since the array hasn't been populated with all the filtered values it won't work either.

Try this.
Private Sub UserForm_Initialize()
    Dim dataset As Range
        'aValues = Worksheets("sheet1").Range("a1").CurrentRegion
    
    For Each dataset In Worksheets("sheet1").Range("dataset").SpecialCells(xlCellTypeVisible).Areas
    
        Me.ComboBox1.AddItem dataset.Cells(1, 1)
        Me.ComboBox2.AddItem dataset.Cells(1, 2)
        Me.ComboBox3.AddItem dataset.Cells(1, 3)
    Next
End Sub