用的程序如下,因为excel的文件比较大,所以列数很多,超过100,当我设置For I = 1 To 20的条件下,正常输出,当我设置For I = 1 To 30的条件下,出现如下错误”运行时错误 1004:方法range作用于对象_Global时失败“,不知道哪位能帮忙解决,谢谢。
Sub DaoChu()
Dim I As Integer, J As Long, RW As Long
RW = ActiveSheet.UsedRange.Rows.Count
For I = 1 To 30
Open "D:\" & Chr(Asc("A") + I - 1) & "行.txt" For Output As 1
For J = 1 To RW
Print #1, Range(Chr(Asc("A") + I - 1) & CStr(J)).Value
Next J
Close 1
Next I
MsgBox "数据导出完毕!", vbOKOnly, "导出成功"
End Sub
当我点击调试后,定位到这条程序
Print #1, Range(Chr(Asc("A") + I - 1) & CStr(J)).Value
excel 分拆为txt文件
答案:2 悬赏:0 手机版
解决时间 2021-03-15 03:10
- 提问者网友:你挡着我发光了
- 2021-03-14 07:00
最佳答案
- 五星知识达人网友:渊鱼
- 2021-03-14 07:14
工作簿,可以直接另存为txt文件的
建议你放弃txt文件的open for output方法
思路:sheets(1).copy------复制工作表1成为一新工作簿
sheets.cells.delete---------清空所有内容
Sheets(1).column(i).copy activeworkbook---------将相应列,复制到新工作簿
activeworkbook.saveas-------------另存为。注意文件类型参数
建议你放弃txt文件的open for output方法
思路:sheets(1).copy------复制工作表1成为一新工作簿
sheets.cells.delete---------清空所有内容
Sheets(1).column(i).copy activeworkbook---------将相应列,复制到新工作簿
activeworkbook.saveas-------------另存为。注意文件类型参数
全部回答
- 1楼网友:底特律间谍
- 2021-03-14 07:37
sub 拆分()<br> dim i as long, sh as worksheet<br> application.screenupdating = false<br> application.displayalerts = false<br> application.showwindowsintaskbar = false<br> set sh = activesheet<br> for i = 3 to sh.usedrange.rows.count step 500 '第3 行开始复制<br> with workbooks.add(xlwbatworksheet)<br> sh.rows("1:2").copy .worksheets(1).[a1] '表头 1 ,2 行<br> sh.rows(i).resize(500).copy .worksheets(1).[a3]<br> .saveas thisworkbook.path & "\" & sh.range("a" & i), xlworkbooknormal<br> .close true<br> end with<br> next<br> application.screenupdating = true<br> application.displayalerts = true<br> application.showwindowsintaskbar = true<br>end sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯