作者:乔山办公网日期:
返回目录: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