乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 在excel中,如何用VBA将每列数据的输出为一个独立的文本...-excel导出txt的vba,vba导出excel

在excel中,如何用VBA将每列数据的输出为一个独立的文本...-excel导出txt的vba,vba导出excel

作者:乔山办公网日期:

返回目录:excel表格制作


Sub Macro1()
Dim c As Range, i&
Open ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & ".txt" For Output As #1
For Each c In Sheet2.Range("E2:E" & Sheet2.Range("E2").End(xlDown).Row)
Print #1, c.Value
Next
For Each c In Sheet3.Range("F3:F" & Sheet3.Range("F3").End(xlDown).Row)
Print #1, c.Value
Next
Close #1
End Sub
这是将TXT文件保存在于xls文件同一个文件夹中,如果是别的地方,更改ThisWorkbook.Path为制定路径;另外,一定要将Excel保存为97-2003格式,扩展名为xls

答:end()里面的数字是简写的,这样很不好辨认。强烈建议使用命名参数e68a847a686964616f363

1、2、3、4代表xlToLeft、xlToRight、xlUp、xlDown。也就是点一个单元格,然后按“Ctrl+箭头”后指向的单元格。

我修改了这段代码,已验证了能正确导出。

Private Sub export()
    Application.ScreenUpdating = False
    Path = "E:\export"
    Dim nro&, nco&
    nco = Cells(1, Columns.Count).End(xlToLeft).Column
    For i = 1 To nco
        nro = Cells(Rows.Count, i).End(xlUp).Row
        Open Path & "\file" & i & ".txt" For Output As #1
        For Each cell In Range(Cells(1, i), Cells(nro, i))
            Print #1, cell
        Next
        Close #1
    Next
    Application.ScreenUpdating = True
    MsgBox "导出完成"
End Sub



代码和图例如下,运行代码后就会生成a.txt, b.txt和c.txt三个文件:
Sub Excel和txt映射()
Dim i&, j&, info$
For i = 1 To 3 '可在此处修改行数,这里假定有3行
    info = ""
    For j = 1 To 3 '可在此处修改列数,这里假定有3列
        info = info & "," & Cells(i, j)
    Next j
    info = Right(info, Len(info) - 1)
    Open ThisWorkbook.Path & "\" & Cells(i, 1) & ".txt" For Output As #1 '将每行第1个单元格信息作为txt文件名
        Print #1, info
    Close #1
Next i
End Sub



答:导出的数据不变的原因是程序读取的总是之前保存的文件中的值。

我重写了下代码,生成的文件名是:结果.txt,放在桌面上。

Sub ExlportText()
    Dim Rng As Range
    Set Rng = Range("H9") ''红框线内左上角单元格,我猜的
    Open "C:\Users\my\Desktop\结果.txt" For Output As #1
    Do Until IsEmpty(Rng)
        Print #1, Rng & Rng.Offset(0, 1)
        Set Rng = Rng.Offset(1, 0)
    Loop
    Close #1
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网