保存到CSV后,Excel会将所有数据放到一个单元格中

保存到CSV后,Excel会将所有数据放到一个单元格中,excel,vba,Excel,Vba,我有复制范围的代码范围(“A100:AC101”)。没有合并的单元格或任何其他内容。每个单元格中都有一个值 有人能告诉我为什么保存到CSV后Excel会将所有数据放在两个单元格中: A100:AC100在A1中 A101:AC101在B1中 Excel中代码操作前的数据: 保存的CSV文件中的数据: 我试着评论一下: ActiveSheet.SaveAs Environ$("USERPROFILE") & "\Desktop\" & "file1.csv", FileFo

我有复制范围的代码
范围(“A100:AC101”)
。没有合并的单元格或任何其他内容。每个单元格中都有一个值

有人能告诉我为什么保存到CSV后Excel会将所有数据放在两个单元格中:

  • A100:AC100在A1中
  • A101:AC101在B1中
Excel中代码操作前的数据:

保存的CSV文件中的数据:

我试着评论一下:

ActiveSheet.SaveAs Environ$("USERPROFILE") & "\Desktop\" & "file1.csv", FileFormat:=xlCSV, CreateBackup:=False

ActiveWorkbook.Close
而且数据似乎复制正确-每个值都在自己的单元格中。然后在保存到CSV后,事情开始出错

这是我的密码:

Sub ExportRangeToCsv()

Application.ScreenUpdating = False

ThisWorkbook.Sheets("Templates").Range("A100:AC101").Copy

Application.DisplayAlerts = False 'avoid from "save prompt window"

Workbooks.Add

ActiveSheet.Paste

ActiveSheet.SaveAs Environ$("USERPROFILE") & "\Desktop\" & "file1.csv", FileFormat:=xlCSV, CreateBackup:=False

ActiveWorkbook.Close

Application.DisplayAlerts = True 'set to default

Application.ScreenUpdating = True

End Sub

要在Excel中正确导入CSV数据,请使用“数据”选项卡下的“从文本”向导。它将允许您指定一个分隔符(“,”)

您的数据似乎正确地导出为CSV,添加的逗号用于分隔单元格(因此命名为逗号分隔值)


将CSV文件加载回Excel时,数据是否显示在一个单元格中?如果您在文本编辑器中打开CSV文件,数据看起来是否良好?例如,如果我在记事本中打开该文件,它会在每个不正确的单元格后删除“,”。正如你们从截图上看到的,它在每个单元格值之后都会掉“,”。。。1,2,3,4,5,6. 原始Excel中没有“,”(屏幕截图#1)。