【发布时间】:2020-12-06 18:02:53
【问题描述】:
我在工作表的第一列中添加一些数据并使用此代码
Sub createCSVfile()
Dim xRg As Range
Dim xRow As Range
Dim xCell As Range
Dim xStr As String
Dim xTxt As String
Dim xName As Variant
ThisWorkbook.Worksheets("Tabelle1").Range("A1").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A2").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A3").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A4").Value = "XYZ"
ThisWorkbook.Worksheets("Tabelle1").Range("A5").Value = "XYZ"
Set xRg = ThisWorkbook.Worksheets("Tabelle1").Range("A1:A5")
xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
Open xName For Output As #1
For Each xRow In xRg.Rows
xStr = ""
For Each xCell In xRow.Cells
xStr = xStr & xCell.Value & Chr(9)
Next
While Right(xStr, 1) = Chr(9)
xStr = Left(xStr, Len(xStr) - 1)
Wend
Print #1, xStr
Next
Close #1
If Err = 0 Then MsgBox "csv file saved"
End Sub
将其保存为csv并删除所有基于this tutorial的引号。
当我用记事本打开 csv 时,末尾总是至少有一个空行:
如果我手动保存文件并没有什么不同 - 相同的空白行。我还尝试添加类似
ThisWorkbook.Worksheets("Tabelle1").Rows(6).Delete
但这并没有什么不同,因为工作表的第 6 行中没有值。
有没有办法解决这个问题,或者至少可以通过记事本自动删除 csv 中的最后一行?
【问题讨论】:
标签: excel vba csv notepad blank-line