是的,這是一個令人討厭的數據透視表約束。
步驟來重新創建,並從.CSV更改數據源到.xls文件:
- 創建了標題名稱,生日,登錄.csv文件。關閉文件。
- 將.csv導入到新工作簿中的新數據透視表PivotTable1中。
- 保存的一部開拓創新的.csv到一個新的工作簿C:\路徑\到\ datasource.xls,命名工作表的數據,並確保數據範圍的左上角的單元格在單元格A1。
然後添加以下VBA宏並執行它:
Sub getExcelData()
With ActiveSheet.PivotTables("PivotTable1").PivotCache
.Connection = Array(_
Array("ODBC;DSN=Excel Files;"), _
Array("DBQ=c:\path\to\datasource.xls;"), _
Array("DefaultDir=c:\path\to;DriverId=790;MaxBufferSize=2048;PageTimeout=5;") _
)
.CommandText = _
"SELECT `Data$`.Birthdate, `Data$`.Name, `Data$`.Sign" & vbCrLf & _
"FROM `c:\path\to\datasource.xls`.`Data$` `Data$`"
End With
End Sub
此驅動程序的.CommandText語法是可怕的挑剔,而不是在所有的智能。
因人而異這個代碼在2010年或以後和/或不同的驅動程序。即使在更高版本的Excel數據驅動程序中,日期和數字數據也是處理不當的。在導入之前,我通常要確保數字或日期字段中的每個單元格都有一個有效值,或者至少是第一行數據中的每個單元格。