【发布时间】:2018-01-22 18:12:07
【问题描述】:
我想将简单的 excel 文件转换为 CSV(管道分隔) 使用 excel vba 我尝试了很多代码,但无法获得预期的输出
following code I tried
Sub mergeFiles()
Dim xlwkbInput1 As Workbook
Dim xlshtInput1 As Worksheet
Dim xlwbfinalrpt As Workbook
Dim xlshtfinalrpt As Worksheet
Dim rcount1 As Long
Dim xlwkbInput2 As Workbook
Dim xlshtInput2 As Worksheet
Dim xlapp As Excel.Application
Set xlapp = New Excel.Application
xlapp.Visible = True
Set xlwkbInput1 = xlapp.Workbooks.Open(ActiveWorkbook.Path & "\Output\Operative_CashFlow_Report.xlsx")
Set xlwkbInput2 = xlapp.Workbooks.Open(ActiveWorkbook.Path & "\Output\Collection_CashFlow_Report.xlsx")
xlwkbInput2.Sheets("Sheet1").Activate
xlwkbInput2.ActiveSheet.UsedRange.Copy
xlwkbInput1.Sheets("Sheet1").Activate
rcount = xlwkbInput1.ActiveSheet.UsedRange.Rows.Count
xlwkbInput1.Sheets("Sheet1").Range("A" & CStr(rcount + 1)).PasteSpecial
xlwkbInput1.UsedRange("$A$1:$I$274").AutoFilter Field:=1, Criteria1:=Array( _
"LIC106", "LIC107", "LIC134", "LIC138", "="), Operator:=xlFilterValues
xlwkbInput1.UsedRange.Delete
xlwkbInput1.SaveAs ActiveWorkbook.Path & "\Output\final_report.xlsx"
Set xlwbfinalrpt = xlapp.Workbooks.Open(ActiveWorkbook.Path & "\Output\final_report.xlsx")
xlwbfinalrpt.Sheet("Sheet1").Activate
xlwbfinalrpt.SaveAs ActiveWorkbook.Path & "\Output\final_report.xlsx"
xlwbfinalrptwb = Workbooks.Open (ActiveWorkbook.Path & "\Output\final_report.xlsx"
xlwbfinalrptwb .SaveAs fileName:=ActiveWorkbook.Path & "\Output\final_report.xlsx"
, FileFormat:=xlCSV, CreateBackup:=False
' 这里我正在将 excel 转换为 CSV 文件
End Sub
【问题讨论】:
-
太棒了!你试过什么代码?你期待什么输出?你得到了什么输出?你能提供样本数据吗?尽管 StackOverflow 上有些人可能会提供帮助,但我还没有遇到过读心者。请使用更多详细信息编辑您的问题,因为目前它是一个广泛问题的定义。
-
感谢#krottan,实际任务是我打开一个excel文件并进行一些过滤并将此文件保存为excel vba中的CSV文件(管道分隔)
-
我明白了。但是您尝试过什么来完成此任务?发布代码、错误(如果有)以及一些数据和预期输出,以便我们为您提供帮助。尝试制作minimal reproducible example。
-
我试过这段代码
-
使用问题正文左下角的编辑按钮向问题添加信息,以便获得更好的格式。 (其实我没看懂你指的是什么代码)