Looks like you got it mostly figured out, but here is something to load it into an array if you want it:
Public Sub Example()
    Dim test() As Variant
    test = RangeToArray(Excel.Selection, True)
    MsgBox Join(test, vbNewLine)
End Sub
Public Function RangeToArray(ByVal rng As Excel.Range, Optional ByVal skipBlank As Boolean = False) As Variant()
    Dim rtnVal() As Variant
    Dim i As Long, cll As Excel.Range
    ReDim rtnVal(rng.Cells.Count - 1)
    If skipBlank Then
        For Each cll In rng.Cells
            If LenB(cll.Value) Then
                rtnVal(i) = cll.Value
                i = i + 1
            End If
        Next
        ReDim Preserve rtnVal(i - 1)
    Else
        For Each cll In rng.Cells
            rtnVal(i) = cll.Value
            i = i + 1
        Next
    End If
    RangeToArray = rtnVal
End Function