我正在尝试创建一个命令按钮,将我的表导出到制表符分隔的文本文件,并为其添加一些动态标题。 我想要标题说: 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
答案 0 :(得分:2)
它只输出选定的单元格,因为在代码中你有第4行
Set rng = Selection
如果要始终导出特定范围,例如A1:E100,您可以将此行更改为,
Set rng = Range("A1:E100")
如果此范围包含标题,则您的导出也会包含标题。
第二个问题,
由于您有
,因此以逗号分隔Write #1, cellValue,
要使其标签脱离,请将此行更改为
Write #1, cellValue & vbTab
这应该是写部分的完整代码,vbNewline
表示“新行”字符(或vbCrLf
也可以),vbTab
是制表符
If j = rng.Columns.Count Then
Write #1, cellValue & vbNewLine
Else
Write #1, cellValue & vbTab
End If