VBA编码为Excel 2010中的每个工作表创build.txt文件

我正在制作一个包含2列数据customerproduct的电子表格,并且我已经创build了一个macros来将每个产品的列表分成单独的表格,这个表格像梦一样工作。 现在,我想为每个工作表创build一个文本(MS-DOS) .txt文件,并将它们保存在特定的位置。

不知道在此之后需要什么信息,因为创build的工作表只是1列,客户名称工作表是以产品命名的。

这应该让你去。 它为工作簿中的每个工作表创build一个新的.txt文件,并保存到工作簿本身所在的同一目录中。

让我知道如果你有任何麻烦。

 Sub TextFileExport() Dim rngCell As Range Dim shtWorkSheet As Worksheet Dim i As Integer Dim strFilename As String 'text file filename 'specify output name here strFilename = "OutputName" 'loop through worksheets For Each shtWorkSheet In ThisWorkbook.Worksheets 'create new file name i = i + 1 Open ThisWorkbook.Path & "\" & strFilename & "Sheet_" & i & ".txt" For Output As #1 'loop through cells For Each rngCell In shtWorkSheet.UsedRange If rngCell.Text <> "" Then 'print the line Print #1, rngCell.Text End If Next rngCell 'close so can reopen next one Close #1 Next shtWorkSheet End Sub 

只要按照这个解决scheme

  1. File > Export > Change File Type > Text (Tab delimited)(*.txt)
  2. 另存为…窗口中,select第一张表格的文本文件的名称,然后单击确定
  3. 重复保存你的文本文件为(2)。

我认为,当你不需要任何function比这更多,你不需要重新创build轮子;)。


我认为你需要使用这个声明:

 Dim ws As Worksheet For Each ws In ActiveWorkbook.Sheets ws.Activate ActiveWorkbook.SaveAs Filename:="C:\" + ws.Name + ".txt", _ FileFormat:=xlText, CreateBackup:=False Next