excel中的CSV文件,字段在双引号内
我想从excel创建一个CSV文件,其中字段中的所有数据都包含在双引号内。 我从一个类似的问题中找到了这个代码,它几乎可以工作excel中的CSV文件,字段在双引号内,excel,csv,Excel,Csv,我想从excel创建一个CSV文件,其中字段中的所有数据都包含在双引号内。 我从一个类似的问题中找到了这个代码,它几乎可以工作 Sub CSVFile() Dim SrcRg As Range Dim CurrRow As Range Dim CurrCell As Range Dim CurrTextStr As String Dim ListSep As String Dim FName As Variant FName = Application.GetSaveAsFilename(""
Sub CSVFile()
Dim SrcRg As Range
Dim CurrRow As Range
Dim CurrCell As Range
Dim CurrTextStr As String
Dim ListSep As String
Dim FName As Variant
FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
If FName <> False Then
ListSep = Application.International(xlListSeparator)
If Selection.Cells.Count > 1 Then
Set SrcRg = Selection
Else
Set SrcRg = ActiveSheet.UsedRange
End If
Open FName For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ""
For Each CurrCell In CurrRow.Cells
CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep
Next
While Right(CurrTextStr, 1) = ListSep
CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
Wend
Print #1, CurrTextStr
Next
Close #1
End If
End Sub
我还需要它在最后一个字段后面加一个逗号,如下所示:
"A1","B1","C3"
"A2","B2","C3"
"A1","B1","C3",
"A2","B2","C3",
我不知道这种代码,需要一些帮助
此外,如果这样做有效,我如何将宏保存在excel工作表中,以便在需要时随时使用它
谢谢
John我认为这段代码正在删除每行的列表分隔符/逗号。试着去掉这三条线,看看能不能解决问题
While Right(CurrTextStr, 1) = ListSep
CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
Wend
将包含此脚本的代码模块放在“个人”Excel工作簿中,以便无论打开哪个文件,它都始终对您可用
否则,只需将此代码模块放在所需工作簿的代码模块中,并确保另存为XLSM。它成功了,谢谢你,伙计。:)我想“将包含此脚本的代码模块放在您的“个人”Excel工作簿中”,但我不知道如何操作:(到目前为止,我所做的是:-Alt+F11-粘贴代码-关闭并返回excel-Alt+F8以运行并执行脚本当我第一次使用宏时,我在这里迷路了,你能给我一个傻瓜演练吗?再次感谢你的帮助。John,下面是从excel MVP Ron de Bruin创建“个人”工作簿的概述。