I have a text file that is formatted in the following way:
And I am using the below code in VBA to write the text file into excel:
Sub Test()
 Dim Fn As String, WS As Worksheet, st As String
 Fn = "Path.txt" ' the file path and name
 Set WS = Sheets("Sheet1")
 'Read text file to st string
 With CreateObject("Scripting.FileSystemObject")
    If Not .FileExists(Fn) Then
        MsgBox Fn & "  : is missing."
        Exit Sub
    Else
        If FileLen(Fn) = 0 Then
            MsgBox Fn & "  : is empty"
            Exit Sub
        Else
            With .OpenTextFile(Fn, 1)
             st = .ReadAll
             .Close
            End With
        End If
    End If
 End With
 'Replace every two or more space in st string with vbTab
 With CreateObject("VBScript.RegExp")
  .Pattern = "[ ]{2,}"
  .Global = True
  .Execute st
  st = .Replace(st, vbTab)
 End With
 'Put st string in Clipboard
 With CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    .SetText st
    .PutInClipboard
 End With
 'Paste Clipboard to range
 WS.Range("A1").PasteSpecial
End Sub
My goal is to preserve the columns from the text file in Excel.
However, my code can't tell that a blank space under Plan Type and a blank space under Benefit Plan are actually two different columns of data. It treats the blank space under the two columns as one long blank space, and the formatting isn't preserved. 
Visually we know there are columns, but my code cannot see this.
Is there a way to program this so it recognizes that there are two spaces in the text file instead of one big space?
What I want to avoid is having to manually deliminate this with a character. Is that possible?

