Excel parece utilizar el último delimitador utilizado en la sesión. Dave Peterson describe una posible solución aquí . Esencialmente, crea una macro que establece el delimitador predeterminado y lo coloca en la carpeta xlstart. Si está haciendo esto para un archivo en máquinas de otras personas, eso probablemente no funcionará, pero así es como lo abordaría, programáticamente en su propio sistema, y puede adaptarlo a su situación. Ejecutar el siguiente código debería establecer el delimitador de antemano. Esto operará en una sesión existente. Entonces, si tiene contenido que espera una configuración específica de delimitadores, ejecute algo como esto antes de su importación, estableciendo los parámetros que desee
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