在 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)