首页 > 解决方案 > 将工作表中的数据范围作为新的 csv 文件传输到专用目录中

问题描述

VBA 编码非常新,我在名为“int_151_schedule”的工作表中有以下数据,我正在尝试获取 A4:AK16 范围内的数据并在以下目录中创建一个新的 csv:'\Desktop\测试'

我的代码如下所示,但我收到错误 ID 1004,表明它没有成功将其保存到路径目录。我已经看到了与此类似的问题,但没有取得太大的成功。我的代码有什么问题吗?

Sub CreateNewCSV()


Sheets("int_151_schedule").Copy
Application.DisplayAlerts = False

With ActiveWorkbook
    
    .SaveAs Filename:="\Desktop\Test " & Range("A4:AK16").Value & ".csv"
    .Close savechanges:=True
End With

Application.DisplayAlerts = True
End Sub

标签: excelvba

解决方案


我认为您的代码正在尝试使用数组内容的文件名保存文件,这可能不是您想要做的。

您还需要在驱动器中包含整个文件路径。(例如 C:\

首先将 A4:AK16 的内容复制到一个新的工作簿中,然后将此工作簿保存为 *.csv 文件。

尝试

Sub CreateNewCSV()
    Range("A4:AK16").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Desktop\Test\myfilename.csv", FileFormat:= _
        xlCSV, CreateBackup:=False
End Sub

推荐阅读