Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5582|回复: 4

[已解决]用vba把excel 的内容转为txt输出特定格式

[复制链接]
发表于 2015-11-13 17:16 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2015-11-13 20:37 编辑

如何用vba把excel 的内容转为txt输出特定格式

在Excel里面的内容,如何通过vba操作,另存为一个txt文本(按照一个特定格式输出)如下图:

下图是Excel里面的内容格式


下图是转为文本里面的格式

[size=0.83em]2015-11-13 17:10 上传
下载附件 [size=0.83em](39.63 KB)






请问各位大神,怎样解决这个问题呢,用vba直接在Excel里面可以通过宏按钮来操作
最佳答案
2015-11-13 22:12
Sub test()
    Dim p$, f$, A, i, j, s$
    p = ThisWorkbook.Path & "\"
    f = Format(Now, "yyyymmdd-hhmmss") & ".txt"
    A = Sheets(1).UsedRange

    Open p & f For Output As #1
    For i = 2 To UBound(A)
        s = ""
        For j = 1 To UBound(A, 2)
            s = s & "," & """" & A(i, j) & """"
        Next j
        s = Mid(s, 2)
        Print #1, s
    Next i
    Close #1

    Shell "explorer " & p & f, vbNormalFocus
End Sub

1.rar (10.98 KB, 下载次数: 4)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-11-13 22:12 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim p$, f$, A, i, j, s$
    p = ThisWorkbook.Path & "\"
    f = Format(Now, "yyyymmdd-hhmmss") & ".txt"
    A = Sheets(1).UsedRange

    Open p & f For Output As #1
    For i = 2 To UBound(A)
        s = ""
        For j = 1 To UBound(A, 2)
            s = s & "," & """" & A(i, j) & """"
        Next j
        s = Mid(s, 2)
        Print #1, s
    Next i
    Close #1

    Shell "explorer " & p & f, vbNormalFocus
End Sub

1.rar (10.98 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2015-11-14 11:55 | 显示全部楼层
爱疯 发表于 2015-11-13 22:12
Sub test()
    Dim p$, f$, A, i, j, s$
    p = ThisWorkbook.Path & "\"

完美解决!!
万分感谢啊!!!!!

能否解说一下思路,以免下次遇到相同问题,还不懂


回复

使用道具 举报

发表于 2015-11-14 12:38 | 显示全部楼层
jiycdl 发表于 2015-11-14 11:55
完美解决!!
万分感谢啊!!!!!

把每行的数据连成一个字符串,读进文本中。。。。

直到完成所有的行。
回复

使用道具 举报

 楼主| 发表于 2015-11-14 14:34 | 显示全部楼层
爱疯 发表于 2015-11-14 12:38
把每行的数据连成一个字符串,读进文本中。。。。

直到完成所有的行。

那如果再拓展一下,增加一个筛选的条件,把我要的那些列输出,不要的,则不理,这个怎么在里面用这个条件呢?

我想到的就是增加一个if的,判断哪些列号是我需要的,然后再输出

请教一下,这个应该怎样去嵌套进去呢?

刚刚学VBA,不怎么懂,指导一下!感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 07:28 , Processed in 4.462355 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表