小兔网

下面我们将看一下Excel VBA的程序,该程序将Excel范围写入CSV(逗号分隔值)文本文件

情况:

将数据写入Excel VBA中的文本文件

在您的工作表上放置一个命令按钮,并添加以下代码行:

1.首先,我们声明一个名为myFile的字符串类型的变量,一个名为rng的Range类型的对象,一个名为Variant类型的cellValue变量,一个名为Integer的变量i和一个名为Integer的变量j。我们在这里使用Variant变量是因为Variant变量可以保存任何类型的值。

 myFile 作为 字符串昏暗,将rng 作为范围,将cellValue 作为 Variant,将i 作为 整数,将j 作为 整数

2.我们需要指定文件的完整路径和文件名。

myFile = Application.DefaultFilePath&“ \ sales.csv”

注意:DefaultFilePath属性返回默认文件路径。要更改默认文件位置,请在“文件”选项卡上,单击“选项”,然后单击“保存”。

3.我们使用所选范围初始化范围对象rng。

设置 rng =选择

4.添加以下代码行:

打开 myFile 输出为#1

注意:此语句允许将文件写入。在其余的代码中,我们可以将文件称为#1。如果文件已经存在,则将其删除并创建一个具有相同名称的新文件。

5.启动双循环

对于 i = 1  rng.Rows.Count
    对于 j = 1  rng.Columns.Count

注意:rng.Rows.Count返回行数(在此示例中为17),rng.Columns.Count返回列数(在本示例中为4)。

6. Excel VBA将单元格的值写入变量cellValue。

cellValue = rng.Cells(i,j).Value

7.添加以下代码行,以将cellValue的值写入文本文件。

如果 j = rng.Columns.Count,
    写入#1,cellValue,
否则
    写入#1,cellValue,如果
结束

说明:由于If Then Else语句,因此当j等于列数(一行中的最后一个值)时,Excel VBA仅开始换行(Write#1,cellValue)。要用逗号分隔值,请使用Write#1,cellValue,(带逗号)。

8.不要忘记关闭两个循环。

    下一步 Ĵ
接下来

9.关闭文件。

关闭#1

10.选择数据,然后单击工作表上的命令按钮。

结果:

将数据写入文本文件结果