EXCEL中,如何将一个表格中的每行数据都输出到一个单独的EXCEL文件中?

EXCEL中如何将一个表格中的每行数据都输出到一个单独的EXCEL文件中?
例如如源表为:
姓名|年龄|联系方式|家庭住址|工种|出生日期|身份证号码
张明|35|13131313|河北廊坊|瓦工|28121966|2222222222
李明|22|12121212|陕西灵风|木匠|22051986|3333333333
想要输出的表为每人一张表(不打印,只要电子表,每个人一张表,每个表一个文件。)格式就随意了,和上面的项目是相同的,只是要在一个表里体现出来,有点像报名表的那个格式。请达人指教!!!八十分奉上!
邮件合并好像不行,邮件合并只能用来打印输出表格,我这个是要最后形成很多文件,每人一个文件,要电子版的呢。三百多人,我要疯了…… lemonandapple1的方法也不行,目标表格式和源表不同的,目标表是简历那种格式的。

你好,根据你的提问,我可以看到以下信息:
1。为了发工资,给每个单独的人生成一个文件,便于发送到各自的邮件中;
2。最好使用“姓名”作为文件名
3。建议使用“省份证号”作为文件打开密码
怎么做呢?
1.将你的原文件复制到一个新建的文件夹,防止破坏原文件
2.从在页面上画一个按钮,名字就不要改了
3.把以下代码拷贝到“工具”——“宏”——Visual Basic Editor中.
4.点击一次按钮可以复制10条(这个你可以通过修改代码中的h的初始值来修改,建议不要超过20,不然机器可能在短时间内很慢)
5.最好把文件名和sheet名都改成“工资表”,这样你就可以完全不改代码了。

姐妹,我可是费了半下午才搞定的,呵呵,我是喜欢追求“最简单超过化”的。
记得给分阿。

Private Sub CommandButton1_Click()
Dim n, m, h, x As Integer
Dim xFilename, xPassWord, xFilePath As String
h = 10
v = 42
For n = 1 To h
xFilename = Range("a1")
xPassWord = Range(Chr(n + 64) & "2")

Windows("¹¤×ʱí.xls").Activate
Sheets("¹¤×ʱí").Select
Range("a1:" & "a" & v).Select
Application.CutCopyMode = True
Selection.Copy
Workbooks.Add
Windows("Book" & n).Activate
ActiveSheet.Paste
Application.CutCopyMode = False
ChDir "C:\RequestFile\NewSheets"
ActiveWorkbook.SaveAs Filename:=".\" & xFilename & ".xls", FileFormat:=xlNormal, Password:=xPassWord, WriteResPassword:="", CreateBackup:=False
Workbooks(xFilename & ".xls").Close
Windows("¹¤×ʱí.xls").Activate
Sheets("¹¤×ʱí").Select
Range("a1:" & "a" & v).Select
Selection.Delete Shift:=xlToLeft
Next
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-17
在excel中,将每行数据的输出为一个独立的文本文件txt可用如下代码可以实现:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False '关闭屏幕刷新
Dim nRow&, ncolumn& '定义区域变量
nRow = Cells(Rows.Count, 1).End(3).Row '确定最后行行号
For i = 1 To nRow '在行中进行循环
ncolumn = Cells(i, Columns.Count).End(1).Column '确定每行最后列列号
Open ThisWorkbook.Path & "\文件" & i & ".txt" For Output As #1 '创建文本进行输入内容
Print #1, Join(Application.Transpose(Application.Transpose(Range(Cells(i, 1), Cells(i, ncolumn)))), ",") '输入此行内容,以","分隔内容
Close #1 '关闭文本
Next '下次循环
Application.ScreenUpdating = True '开启屏幕刷新,与前对应
MsgBox "导出完成" '完成友好提示
End Sub
第2个回答  2008-11-24
很简单,录制一个宏就可以了,在工具菜单,选宏-录制新宏,指定快捷方式,如ctrl+o,然后选择你表格中的前两行,复制,点新建表,粘贴,再回到你的表格,删除张明那一行,录制完毕,后面直接点ctrl+o,就可以了,我试了一下,宏代码如下:
Sub Macro1()
'
' Macro1 Macro
' 快捷键: Ctrl+o
'
Rows("1:2").Select
Selection.Copy
Sheets("Sheet1").Select
Sheets.Add
ActiveSheet.Paste
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 3
Sheets("Sheet1").Select
Rows("2:2").Select
Application.CutCopyMode = False
Selection.Cut
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("C9").Select
End Sub
供参考。
第3个回答  2008-11-26
可以使用邮件合并 不过要用word,在word制一个表.再使用邮件合并,文件来自于excel源文件!最终在word里打印.如果还不明白你可以把表格发给我,我帮你做.10分钟就可以搞定.
第4个回答  2008-11-24
我可以帮你,加我好友吧。qq联系本回答被提问者采纳
相似回答