Option Explicit
Private Sub UserForm_Initialize()
Dim r As Range, c As Range
Dim a()
Dim n As Long
On Error Resume Next
Set r = Sheets("sheet1").Range("a6").CurrentRegion.Columns(4).SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If r Is Nothing Then Exit Sub
ReDim a(r.Count - 1, 1)
For Each c In r
a(n, 0) = c.Offset(, -3).Value
a(n, 1) = c.Address(, , , True)
n = n + 1
Next
With cbName
.ColumnCount = 2
.BoundColumn = 1
.TextAlign = fmTextAlignLeft
.ColumnWidths = "30;0"
.List() = a()
End With
End Sub
'
Private Sub cbName_Change()
If cbName.ListIndex > -1 Then
Application.Goto Range(cbName.List(cbName.ListIndex, 1))
End If
End Sub