EXCEL中用vba把一行内容按列转成txt格式的代码?
以a为txt标题,aa为txt第一行内容,到第三列aaa写入txt中要有换行。在此例中会形成三个txt文件,标题分别是a.txtb.txtc.txt。用vba操作,我的E...
以a为txt标题,aa为txt第一行内容,到第三列aaa写入txt中要有换行。在此例中会形成三个txt文件,标题分别是a.txt b.txt c.txt。用vba操作,我的EXCEL中有上千行数据需要转换,故希望大神写出的代码可以满足我的这个要求,感激不尽!!!
展开
1个回答
展开全部
下面的代码测试通过,能够满足你的要求:
Option Explicit
Sub YgB()
Dim i, j, n, m, arr
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
n = "c:\" & Cells(i, 1) & ".txt"
m = Cells(i, Columns.Count).End(xlToLeft).Column
arr = Cells(i, 2).Resize(1, m - 1)
Open n For Output As #1
For j = 1 To m - 1
Print #1, arr(1, j)
Next j
Close #1
Next i
End Sub
追答
文件名访问错误的时候,请点调试,看看是哪个语句,看看文件名是什么,有可能是文件名非法(例如有问号、星号) ,也可能是访问的磁盘不存在、或者没有权限。
只输出6~8列,需要修改代码里面的for j=1 to m为for j=5 to 7
有不明白的语句请追问,我觉得三五行的代码,没有复杂算法,无需注释。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询