Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
excel中的CSV文件,字段在双引号内_Excel_Csv - Fatal编程技术网

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(""

我想从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("", "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创建“个人”工作簿的概述。