excel文件保存成CSV

Sub CsvOutput()

Dim strNow As String

Dim csvFile As String

Dim lastRow As String

Dim targetRange As Range

Dim wb As Workbook

Dim fso As Object

strNow = Format(Now, "yyyymmddhhnnss")

csvFile = Application.GetSaveAsFilename(InitialFileName:="XXXXXXCSV_" & strNow & ".csv", FileFilter:="CSV文件(*.csv),*.csv")

If csvFile <> "False" Then

'最后一行的取得

lastRow = Cells(Rows.Count, 2).End(xlUp).Row

'CSV文件范围

Set targetRange = Worksheets(1).Range(Cells(2, 1), Cells(lastRow, 29))

'新建workbook

Set wb = Workbooks.Add

'CSV文件范围拷贝到新workbook

targetRange.Copy wb.Worksheets(1).Range("A1")

'cell内改行删除

wb.Worksheets(1).UsedRange.Replace vbLf, ""

wb.Worksheets(1).UsedRange.Replace vbCr, ""

wb.Worksheets(1).UsedRange.Replace vbCrLf, ""

Set fso = CreateObject("Scripting.FileSystemObject")

'输出的CSV文件存在先删除

If fso.FileExists(csvFile) Then

fso.deleteFile csvFile

End If

'新workbook作为CSV文件输出

wb.SaveAs Filename:=csvFile, FileFormat:=xlCSVUTF8, Local:=True

'新workbook不保存关闭

wb.Close SaveChanges:=False

MsgBox csvFile & "文件已经输出。"

Set fso = Nothing

End If

End Sub

相关推荐
Prodigy_kyw5 天前
VBA初学3----实战(VBA实现Excel转csv)
excel·vba·csv
yivifu19 天前
利用VBA将Word文档修改为符合EPUB3标准规范的HTML文件
word·vba·epub
Learn-Share_HY1 个月前
[Excel VBA]如何製作買三送一優惠條件的POS結帳介面?
excel·vba·office·自動化·自動化辦公
shandianchengzi1 个月前
【工具】Quicker/VBA|PPT 在指定位置添加有颜色的参考线
powerpoint·vba·ppt·quicker
Access开发易登软件2 个月前
Access链接Azure SQL
数据库·后端·sql·flask·vba·azure·access
专注VB编程开发20年2 个月前
在 VB6 中强制设置 Word 文档的纸张尺寸
ui·c#·word·vba·vb6
通义灵码2 个月前
在 Excel 中使用通义灵码辅助开发 VBA 程序
人工智能·阿里云·excel·vba·通义灵码
課代表2 个月前
Office 中 VBE 的共同特点与区别
word·excel·vba·office·vbe
莫负初2 个月前
Excel使用VBA批量计算指定列的中位数和标准差并筛选指定列数据
数据分析·自动化·excel·vba·方差·标准差
課代表2 个月前
Excel VBA 词频统计宏
ui·excel··vba·模块·字典