Excel 将5个工作表中的数据导出到5个文本文件中

Excel 将5个工作表中的数据导出到5个文本文件中,excel,vba,Excel,Vba,我的工作簿包含n个工作表。其中5个包含应导出为文本文件的数据 在一个子过程中,我创建了5个名为export01到export05的文本文件 包含要导出数据的5个工作表的命名方式与export01到export05相同 工作表export01的数据应写入文本文件export01,以此类推 对于表export01的数据导出,我创建了此代码,但我不知道如何导出其他4个表的数据 我应该只复制代码4次,然后更改所需的内容,还是有更好的解决方案?谢谢你的帮助 sub exportTxt() Dim rng

我的工作簿包含n个工作表。其中5个包含应导出为文本文件的数据

在一个子过程中,我创建了5个名为export01到export05的文本文件 包含要导出数据的5个工作表的命名方式与export01到export05相同

工作表export01的数据应写入文本文件export01,以此类推

对于表export01的数据导出,我创建了此代码,但我不知道如何导出其他4个表的数据

我应该只复制代码4次,然后更改所需的内容,还是有更好的解决方案?谢谢你的帮助

sub exportTxt()
Dim rng As Range
Dim myTable As String
Dim myFile As String

myTable = "export1"
myFile = "export1.txt"

Sheets(myTable).Select
Set rng = Range("a1").CurrentRegion
Open myFile For Output As #1
   For i = 1 To rng.Rows.Count
       For j = 1 To rng.columns.Count
           cellValue = rng.Cells(i, j).Value
       If j = rng.columns.Count Then
           Print #1, cellValue
       Else
       Print #1, cellValue,
       End If
       Next j
   Next i
Close #1
End Sub 

将所有代码放入一个巨大的
For循环中

虽然这不是最有效的方式,但它会起作用

For i = 1 to 5
    myTable = "export" & i
    myFile = "export" & i & ".txt"

    ' The rest of your code goes here

Next i

你可以考虑一次写一行,甚至使用< /P>

WorkBookVariableName.SaveAs myFile, xlCSV

类似于这样的情况,您的SheetName保存在一个数组中:

Sub DumpSheets()
Dim ws As Worksheet
For Each ws In Sheets(Array("yoursheetnames","test", "test 2", "Sheet4", "Sheet5"))
    ws.SaveAs "C:\temp\" & ws.Name & "txt", xlTextMSDOS
Next ws
End Sub

据我所知,您的代码中的文本文件是通过命令“ws.SaveAs…”创建的,或者如果存在,那么这些文本文件将被覆盖?