问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-29 16:38

我来回答

2个回答

热心网友 时间:2023-10-20 04:10

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

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


追问先非常感谢。我用你的调试了,能用。但是中间是以回车间隔的,我想以逗号相隔,不是每个都换行,可以吗?。。多谢

追答可以的,修改后的程序如下
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
Print #1, Join(Application.Transpose(Range(Cells(1, i), Cells(nro, i))), ",")
Close #1
Next
Application.ScreenUpdating = True
MsgBox "导出完成"
End Sub

热心网友 时间:2023-10-20 04:11

end(3) 和下面那个 end(1) 对调一下追问对调了,还是报相同的错误。

热心网友 时间:2023-10-20 04:10

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

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


追问先非常感谢。我用你的调试了,能用。但是中间是以回车间隔的,我想以逗号相隔,不是每个都换行,可以吗?。。多谢

追答可以的,修改后的程序如下
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
Print #1, Join(Application.Transpose(Range(Cells(1, i), Cells(nro, i))), ",")
Close #1
Next
Application.ScreenUpdating = True
MsgBox "导出完成"
End Sub

热心网友 时间:2023-10-20 04:11

end(3) 和下面那个 end(1) 对调一下追问对调了,还是报相同的错误。

热心网友 时间:2023-10-20 04:10

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

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


追问先非常感谢。我用你的调试了,能用。但是中间是以回车间隔的,我想以逗号相隔,不是每个都换行,可以吗?。。多谢

追答可以的,修改后的程序如下
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
Print #1, Join(Application.Transpose(Range(Cells(1, i), Cells(nro, i))), ",")
Close #1
Next
Application.ScreenUpdating = True
MsgBox "导出完成"
End Sub

热心网友 时间:2023-10-20 04:11

end(3) 和下面那个 end(1) 对调一下追问对调了,还是报相同的错误。

热心网友 时间:2023-10-20 04:10

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

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


追问先非常感谢。我用你的调试了,能用。但是中间是以回车间隔的,我想以逗号相隔,不是每个都换行,可以吗?。。多谢

追答可以的,修改后的程序如下
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
Print #1, Join(Application.Transpose(Range(Cells(1, i), Cells(nro, i))), ",")
Close #1
Next
Application.ScreenUpdating = True
MsgBox "导出完成"
End Sub

热心网友 时间:2023-10-20 04:10

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

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


追问先非常感谢。我用你的调试了,能用。但是中间是以回车间隔的,我想以逗号相隔,不是每个都换行,可以吗?。。多谢

追答可以的,修改后的程序如下
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
Print #1, Join(Application.Transpose(Range(Cells(1, i), Cells(nro, i))), ",")
Close #1
Next
Application.ScreenUpdating = True
MsgBox "导出完成"
End Sub

热心网友 时间:2023-10-20 04:11

end(3) 和下面那个 end(1) 对调一下追问对调了,还是报相同的错误。

热心网友 时间:2023-10-20 04:10

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

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


追问先非常感谢。我用你的调试了,能用。但是中间是以回车间隔的,我想以逗号相隔,不是每个都换行,可以吗?。。多谢

追答可以的,修改后的程序如下
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
Print #1, Join(Application.Transpose(Range(Cells(1, i), Cells(nro, i))), ",")
Close #1
Next
Application.ScreenUpdating = True
MsgBox "导出完成"
End Sub

热心网友 时间:2023-10-20 04:11

end(3) 和下面那个 end(1) 对调一下追问对调了,还是报相同的错误。

热心网友 时间:2023-10-20 04:11

end(3) 和下面那个 end(1) 对调一下追问对调了,还是报相同的错误。

热心网友 时间:2023-10-20 04:10

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

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


追问先非常感谢。我用你的调试了,能用。但是中间是以回车间隔的,我想以逗号相隔,不是每个都换行,可以吗?。。多谢

追答可以的,修改后的程序如下
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
Print #1, Join(Application.Transpose(Range(Cells(1, i), Cells(nro, i))), ",")
Close #1
Next
Application.ScreenUpdating = True
MsgBox "导出完成"
End Sub

热心网友 时间:2023-10-20 04:11

end(3) 和下面那个 end(1) 对调一下追问对调了,还是报相同的错误。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
是选诺顿杀毒软件好还是NOD32好? 诺顿好还是NOD32好???请高手指点 诺顿安全软件和ESET NOD32安全软件相比,谁的防护.杀毒更强,功能更多... 诺顿和NOD32这两个杀毒软件哪个比较好? 什么是土地二次抵押 "口似含莲,乾姜之手"是什么意思? 乾姜的意思是什么 都说Pinnacle Food公司各方面做的好,有对这家了解的吗 空调蒸发箱多久清洗一次 空调蒸发箱需要清洗吗 苹果xr流量设置 如何用EXCEL的VBA输出指定文件的大小 怎样用VBA把excel转成txt文件 EXCEL2013 VBA 将EXCEL导成TXT文件 求助用EXCEL VBA导出为TXT文件 使用VBA将EXCEL中部分行列导出到txt文件 Excel每行数据导出成txt.文件的VBA代码 请用VBA让EXCEL某些列自动导成TXT文本? 怎么我支付宝上的实名认证老是认证不了呢? 企业支付宝掉实名一般是什么原因导致的? 支付宝的实名认证怎么会自己掉了呢 社保转出后原单位没有交齐的社保能补缴吗? 养老保险如何让原单位补交 以前在单位上班没交社保现在能补吗 本人已不在原单位,原单位可以补缴社保吗? 公司欠的社保没有交,现自己想补交而原公司已经不存在,这种情况可以补交吗? 1-9月社保补缴已经脱离原单位的怎么补 中间社保断了可以补交吗,如果原单位不存在了怎么办 原国有企业不存在了,现在办理退休需要原单位出面补缴以前的社保该怎么办? 史莱姆掉色,弄到了木质的桌子上该怎么办? OPPO系统在哪里 如何用VBA将excel表导出成文本类型的文件? 高分求用VBA将excel表格数据 导出固定格式的txt文件。 如何用excel的vba将固定选区导出为txt文档? Excel VBA,输出为txt文档,一个很简单的问题。 用vba把EXCEL指定的部分输出为excel同名的TXT文件 求一段Excel导出TXT的VBA代码 用VBA的方法从EXCEL中筛选数据导出带分隔符的TXT文件? EXCELVBA实现EXCEL的单元格生成TXT文件 1.18kg蛋糕是几寸 Excel数据导出成txt.文件的VBA代码 蛋糕一磅是多少寸? 净重一斤的蛋糕大约多大? 哈根达斯冰淇淋蛋糕一斤相当于几寸 级经济师多少分合格? 千教万教教人求真。千学万学学做真人。是哪个的名句? 做人要方 为人人要圆 是什么意思 谁较早提出了"人人可以做圣人"思想观念 为人人呢脸什要看么做那色 人人做电商谁来生产 真的是好事不出门,坏事传千里,人呐!就是这样,你做的好没人记得,你做的不好,人人都说,这就是现实