我嘗試過多種變體,並且獲得相同的結果。最近迭代是這樣的:如何在不導出公式的情況下在Visual Basic Excel中導出已使用的值範圍
Sub CopyToCSV()
' Copy and Paste Active Sheet
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Value = .Value
End With
'The new workbook becomes Activeworkbook:
With ActiveWorkbook
'Saves the new workbook to given folder/filename:
.SaveAs Filename:= _
"C:\upload\19meat-kl.csv", _
FileFormat:=xlCSV, _
CreateBackup:=False
'Closes the file
.Close False
End With
End Sub
我的輸出一直在尋找這樣的:
Store,Department,Date,Category,Item Count,Retail Price,Dollars,Reduced Retail,Total Loss,Reason for loss
18,90,2017-04-04,Meat,2,3,6,1,4,Out of Date
18,90,2017-04-04,Pork,2,1.5,3,0.99,1.02,Other
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
的原因是,我的Excel文件中包含一些公式是這樣的:
=IF(D5>0,TODAY(),"")
這種自動如果某些細胞向某些細胞中輸入任何細胞,則會填充某些細胞。這導致Excel認爲單元格被「使用」幷包含它們。我嘗試了幾個Worksheet.usedrange.values的變體,我得到相同的輸出,或者由於錯誤的代碼,我得到一個調試提示。我怎樣才能從輸出中刪除逗號?
無需複製,剛saveas CSV看看有沒有幫助 – 0m3r