怎样把一个excel文件转成多个txt文件: 6000行,分成30个txt,每200行一个,一共2列,求助编下代码。谢谢

我这里有6000行,分成30个txt,每200行一个,一共2列,求助编下代码。谢谢

Sub 输出文本()
Sheets("sheet1").Select '选定要保存的工作表
k = 1
For i = 1 To 6000 Step 200 '从第1行到6000行,每200行为一个文件
Range("a" & i & ":b" & i + 5).Copy '复制A与H列的六行内容
Workbooks.Add
ActiveSheet.Paste

ActiveWorkbook.SaveAs Filename:=k, FileFormat:=xlText, CreateBackup:=False '以txt类型存储
ActiveWindow.Close (True) '关闭文件
k = k + 1
Next
MsgBox "保存完毕"
End Sub
生成的文本文件会保存在原EXCEL工作簿同一目录下

我看到你前期写的这个代码,但是我试了下,不成功。请帮忙修改下。谢谢

代码问题不大,我试了一下能用,有小问题,我改了一下,如下:

注意:代码放在sheet1对应的代码区里,返回excel表格区域,文件保存为123.xlsm,注意一定要选择保存类型为xlsm或xlsb或xls文件,按Alt+F8,选择运行即可。去excel对应的目录里看,txt文件已经在那里了。

Sub 输出文本()
Application.ScreenUpdating = 0
Sheets("sheet1").Select '选定要保存的工作表
k = 1
For i = 1 To 6000 Step 200 '从第1行到6000行,每200行为一个文件
Range("a" & i & ":b" & i + 199).Copy '复制A与H列的六行内容
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs Filename:=k, FileFormat:=xlText, CreateBackup:=False '以txt类型存储
ActiveWindow.Close (True) '关闭文件
k = k + 1
Next
Application.ScreenUpdating = 1
MsgBox "保存完毕!"
End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-04-17

这代码不是我写的。现我修改如下:

Sub 按钮1_Click()
Sheets("sheet1").Select '选定要保存的工作表
k = 1
For i = 1 To 6000 Step 200 '从第1行到6000行,每200行为一个文件
    Range("a" & i & ":b" & i + 199).Copy '复制A与B列的两行内容
    Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.SaveAs Filename:=k & ".txt", FileFormat:=xlText, CreateBackup:=False '以txt类型存储搜索
    ActiveWindow.Close (True) '关闭文件
    k = k + 1
Next
MsgBox "保存完毕"
End Sub


本回答被网友采纳
相似回答
大家正在搜