Vba 导出文本文件excel
我试图制作一个commandbutton,将我的表导出到一个选项卡分隔的文本文件中,并向其中添加一些动态标题。 我想让标题说: 1/x 2/x 3/x 4/x等,其中x是列的总数 这是我从一个网站上得到的代码:Vba 导出文本文件excel,vba,excel,Vba,Excel,我试图制作一个commandbutton,将我的表导出到一个选项卡分隔的文本文件中,并向其中添加一些动态标题。 我想让标题说: 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 = App
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")
如果此范围包括标题,则导出也将包含标题
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
第二个问题
它是逗号分隔的,因为
Write #1, cellValue,
若要将其设置为tab Demilite,请将此行更改为
Write #1, cellValue & vbTab
这应该是写入部分的完整代码,
vbNewline
表示“新行”字符(或vbCrLf
也可以),vbTab
是制表符
If j = rng.Columns.Count Then
Write #1, cellValue & vbNewLine
Else
Write #1, cellValue & vbTab
End If
你能发布你想要输出的样子吗?我已经为输入添加了thanx。谢谢你的帮助,但我想知道是否还有其他地方我不需要指定范围,我的意思是它只导出所使用的列和行,我的意思是,如果我的表有10行15列,它将只导出这些单元格。@这里您当然可以。尝试研究如何确定最后一行。列也是如此。在拥有最后一行之后,您可以编写类似于
Set rng=Range(“A1:E”&LastRow)
的代码,其中LastRow
是分配给最后一行值的变量。谢谢,我肯定会研究并找出其中的一行。但是您关于如何将其制表符分隔的另一个注释对我不起作用,我把每一列换成了新行。