excel如何将一个表格自动填充为多个表格?
发布网友
发布时间:2022-02-24 15:03
我来回答
共4个回答
热心网友
时间:2022-02-24 16:32
说明:刚才已经对一点BUG进行了修改,请重新复制代码!!!
在excel工作表把你的这张数据表修改工作表的名字为“总表”,把其他的工作表全部删除,只留一张“总表”。
在excel工作表中同时按下ALT和F11两个键,进入VBA编程,点击VBA编程中的菜单:“插入-模块”,把下面的代码粘贴到模块的空白区以后,按F5键,选择宏名kkk 运行代码。
'================================================
Sub kkk()
xx = Sheets("总表").[a65536].End(xlUp).Row
For i = 1 To xx - 1
Worksheets.Add
Next
yy = Sheets("总表").[a65536].End(xlUp).Row
For j = 1 To yy
If Sheets(j).Name <> "总表" Then
Sheets(j).Name = Sheets("总表").Cells(j + 1, 1)
End If
Next
'---------------------------------------
Set conn = CreateObject("adodb.connection")
conn.Open "dsn=excel files;dbq=" & ThisWorkbook.FullName
aa = ThisWorkbook.Sheets.Count
aaa = Array("姓名", "语文", "数学", "化学", "物理", "总分")
For k = 1 To aa
zz = ThisWorkbook.Sheets(k).Name
Sql = "select * from [总表$] where 姓名 like '%" & Sheets("总表").Cells(k + 1, 1) & "%'"
Sheets(zz).[a2].CopyFromRecordset conn.Execute(Sql)
Sheets(zz).[a1:f1] = aaa
Next
conn.Close: Set conn = Nothing
End Sub
'============================================
运行代码后一定会达到你的目的,如果还有疑问,可发消息给我再行交流。
热心网友
时间:2022-02-24 17:50
这个用Microsoft Office Access才可以轻松做到。
热心网友
时间:2022-02-24 19:25
这种情况建议使用word邮件合并功能,该功能以excel表格作为数据源,灵活、方便、简单,只需简单点击几步鼠标即可
具体方法,请进入我的百度空间,首页的左上角的友情链接中,有一篇AWE写专题图解,看了对你一定会有帮助
热心网友
时间:2022-02-24 21:16
excel也可以 一个宏就ok了 不是很复杂