Excel 不支援讀取或寫入 CSV 檔案的分隔符號設定

Excel 不支援讀取或寫入 CSV 檔案的分隔符號設定

在 Excel 中儲存/開啟 CSV 檔案時,預設分隔符號是分號;,因為我需要它是逗號,,我嘗試透過更改語言和區域設定來更改它,遵循其他幾篇關於此問題的帖子(即如何讓 Excel 將逗號解釋為 CSV 檔案中的預設分隔符號?)。

但是,在更改這些設定中的清單分隔符號後,我的 Excel 繼續使用分號儲存 CSV 檔案。是否是因為安裝了 Excel,而我的清單分隔符號設定為分號?或者我這裡還缺少其他設定嗎?

答案1

我發現了問題。我的區域設定中的小數符號也是逗號(歐洲),因此,即使我的清單分隔符號是逗號,CSV 也會使用分號儲存。現在,我將小數點符號變更為點,現在可以使用逗號作為分隔符號正確建立 CSV 檔案。我測試了兩次,現在知道一定有一個例外:如果小數點符號是逗號,那麼即使設定了其他值,清單分隔符號也將是分號。

答案2

為了節省

您需要在語言和區域設定中調整清單分隔符事先的儲存文件 -

在此輸入影像描述


開放用

數據 - 獲取外部數據 - 從文本

在此輸入影像描述

選擇文件

選擇分隔的,按下一步 在此輸入影像描述

並選擇分隔符 逗號

在此輸入影像描述

點選完成

在此輸入影像描述


或者,將其拉入,然後在列中使用文本看這裡

答案3

這是一個非常好的宏,效果很好:

Sub saveCSV()
File = Application.GetSaveAsFilename(InitialFileName:="file.csv", FileFilter:="CSV (*.csv), *.csv")
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlCSV, CreateBackup:=False, local:=False
End Sub

答案4

這有點舊了,但我遇到了同樣的問題:
有一個用分號 ( ) 分隔的 CSV ;。系統分隔符號設定(Windows)也設定為分號。

  • 如果我手動開啟 CSV,檔案會被正確分隔。
  • 如果我讓 VBA 打開它,它會錯誤地用逗號分隔它。

使用Delimiter:=";"顯然僅適用於.txt.

然而,使用Local :=True解決了我的問題:

Workbooks.Open(Filename:=fullpath, Local:=True)

相關內容