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中有上千行数据需要转换,故希望大神写出的代码可以满足我的这个要求,感激不尽!!! 展开
 我来答
阳光上的桥
推荐于2016-04-22 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65810
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

下面的代码测试通过,能够满足你的要求:

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列内容,把第5列内容作为txt标题,该怎么弄?而且我有好几个EXCEL,每个EXCEL的行数还不一样,您这个程序都能用吗?

追答
文件名访问错误的时候,请点调试,看看是哪个语句,看看文件名是什么,有可能是文件名非法(例如有问号、星号)    ,也可能是访问的磁盘不存在、或者没有权限。

只输出6~8列,需要修改代码里面的for j=1 to m为for j=5 to 7

有不明白的语句请追问,我觉得三五行的代码,没有复杂算法,无需注释。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式