Wygląda na to, że Excel używa ostatnio używanego delimitera w sesji. Dave Peterson opisuje możliwe rozwiązanie tutaj Zasadniczo tworzy się makro, które ustawia domyślny delimiter i umieszcza go w folderze xlstart. Jeśli robisz to dla pliku na maszynach innych ludzi, to prawdopodobnie nie zadziała, ale tak byś do tego podszedł, programowo na swoim własnym systemie, i możesz go dostosować do swojej sytuacji. Uruchomienie poniższego kodu powinno wcześniej ustawić dla ciebie ogranicznik. Będzie on działał na istniejącej sesji. Więc jeśli masz treść, która wymaga ustawienia konkretnych delimiterów, uruchom coś takiego przed importem, ustawiając dowolne parametry
With ThisWorkbook.Worksheets(1).Range("a1")
.TextToColumns Destination:=.Columns(1), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False
End With
ThisWorkbook.Close SaveChanges:=False