我在使用第三方網站來源的工作簿中的某些工作表時遇到問題。Excel 2007將工作表另存爲CSV不同於將工作表另存爲VBA中的csv
- 的電子表格可在3rd party source website
- 我有是在壓縮文件
的EC
工作表中all-euro-data-2009-2010.xls
這是足球比賽的數據列表問題工作表。
Manual Save as CSV
現在,當這個「EC」電子表格中的重點和我去另存爲,選擇.CSV,那麼電子表格保存爲CSV和數據是完美的。即列「B」中的日期,並且它們應該是DD/MM/YYYY格式。
例如,從EC工作 EC的最後一排拍攝,24/04/2010,塔姆沃思,艾貝斯費特
這是正確的,如果我去菜單並選擇「另存爲」,並選擇CSV並接受所有提示,以保持它在CSV格式等等等等的CSV文件保存爲 EC,24/04/2010,塔姆沃思,艾貝斯費特
這是正確的,因爲日期是在英國DD/MM/YYYY
VBA Save as CSV
現在讓我對自己變得更加容易,因爲我需要將每個工作表保存爲csv文件,所以我使用下面的VBA代碼自動將當前目錄中的每個工作表保存爲worksheetname.csv(例如EC .csv)每次關閉工作簿時,這會將列B中的日期更改爲Americam格式MM/DD/YYYY。
然而使用VBA保存爲CSV數據結束像 EC 4/24/2010年,塔姆沃思,艾貝斯費特
通知從英國日/變更/ yyyy的到現在的美國格式mm/dd/yyyy
如何在VBA中將日期保存爲實際電子表格中顯示的格式,即在將vba保存爲CSV時是dd/mm/yyyy?
我需要這個CSV選項在VBA中工作,因爲這些和許多其他類似的電子表格都被保存爲每天輸入的CSV文件。
My settings
我使用Excel 2007中,運7(64位)PC在英國上。
我也嘗試添加Local:= True到ws.SaveAs,但這沒有什麼區別。即日期仍然保存爲EC 4/24/2010年,塔姆沃思,艾貝斯費特從VBA
由於節省
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Alerts_Suppress
ThisWorkbook.Save
Save_All_WorkSheets_As_CSV
Alerts_Enable
ActiveWorkbook.Close False
Application.Quit
End Sub
Sub Save_All_WorkSheets_As_CSV()
Dim Name As String
Dim Current_Directory As String
Dim ws As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
Dim i As Integer
i = 0
Current_Directory = ActiveWorkbook.Path & "\"
For Each ws In wb.Worksheets
Name = Current_Directory & LCase(ws.Name) + ".csv"
ws.SaveAs Name, xlCSV
i = i + 1
Next
End Sub
Sub Alerts_Suppress()
Application.DisplayAlerts = False
End Sub
Sub Alerts_Enable()
Application.DisplayAlerts = True
End Sub
您是否嘗試過使用區域設置搞亂? – 2011-12-29 14:46:32
我的區域設置爲英語(英國),日期爲dd/MM/yyyy,位置設置爲英國。其他像日期/時間/ keybaord其他所有都設置爲英國 – 2011-12-29 14:52:34
由於csv真的只是文本將日期字段轉換爲文本字段適用? – 2011-12-29 14:59:12