Esta rutina es suponiendo que el combo (lista desplegable) se llame ´´ComboBox1´´, que los datos se encuentren en la columna ´´C´´ y que empiecen en la fila 1 y terminen en la 5.
Una observacion IMPORTANTE, al pegar el codigo reemplaza las tildes ´ por comillas sencillas (caracter de comentarios en VB lo que pasa es que al publicar el mensaje se reemplazan las comillas sencillas por tildes

)
Dim i As Integer
Dim FilaInicial As Integer, FilaFinal As Integer, Columna As String
Dim strValorAgregar As String
´filas y columnas de los cuales tomar el valor
FilaInicial = 1
FilaFinal = 5
Columna = ´´C´´
´limpiar el contenido del combo
ComboBox1.Clear
´recorrer la columna de la hoja2 desde la FilaInicial hasta la FilaFinal
With Hoja2
For i = FilaInicial To FilaFinal
´leemos el valor
strValorAgregar = .Cells(i, Columna)
´comparar que no sea vacio
If strValorAgregar <> ´´´´ Then
ComboBox1.Text = strValorAgregar
´buscarlo, y si no esta, agregar el valor
If Not ComboBox1.MatchFound Then ComboBox1.AddItem strValorAgregar
End If
Next i
End With
ComboBox1.Text = ´´´´
La cuestión seria que deberias saber la fila inicial y la final pero si no las conoces, sino que como en muchos casos sucede, que se debe recorrer la columna mientras haya contenido en otra, simplemente es que coloques una condicion dentro del for antes del ´´Next i´´ que diga:
if .Cells(i,´´A´´)=´´´´ then exit for
Esto suponiendo que quieras recorrer el contenido mientras haya algun contenido en la columna ´´A´´