从5个工作表导出数据到5个文本文件

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

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

工作表export01的数据应该写入文本文件export01等等。

对于导出表export01的数据我已经创build了这个代码,但我不知道如何导出其他4个表的数据。

我应该只复制4次代码,改变需要什么或有更好的解决scheme吗? 感谢您的帮助!

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 

就像这样,你的图表名被保存在一个数组中:

 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 

把你所有的代码放在一个巨大的For Loop

虽然这不是最有效的办法,但它会起作用。

 For i = 1 to 5 myTable = "export" & i myFile = "export" & i & ".txt" ' The rest of your code goes here Next i 

你可能会考虑写一行(Writeln)甚至使用

 WorkBookVariableName.SaveAs myFile, xlCSV