导出文本文件excel

我试图做一个命令button,将我的表格导出到一个制表符分隔的文本文件,并添加一些dynamic标题。 我想要标题说:1 / x 2 / x 3 / x 4 / x等等,其中x是列的总量

这是我从一个网站得到的代码:

Private Sub CommandButton1_Click() Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer myFile = Application.DefaultFilePath & "\projekt.txt" Set rng = Selection 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 Write #1, cellValue Else Write #1, cellValue, End If Next j Next i Close #1 End Sub 

问题是这取决于我标记填充的单元格它的工作,也只会产生逗号分隔的文本文件,我希望制表符分隔文件没有“”。 也不会产生标题。

 1/5 2/5 3/5 4/5 5/5 x(total) rows Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data Data 

它只输出选中的单元格,因为在你的代码中你有第4行

 Set rng = Selection 

如果您想要始终输出特定范围,例如A1:E100,则可以将此行更改为,

 Set rng = Range("A1:E100") 

如果这个范围包含标题,那么你的导出也会有标题。

第二个问题,

这是逗号分隔,因为你有

 Write #1, cellValue, 

为了让它的标签demilited,改变这一行

 Write #1, cellValue & vbTab 

这应该是写入部分的完整代码, vbNewline意味着“新行”字符(或vbCrLf也可以), vbTab是制表符

 If j = rng.Columns.Count Then Write #1, cellValue & vbNewLine Else Write #1, cellValue & vbTab End If