如何将Excel数据导入word的模板

如何将Excel数据导入word的模板,第1张

首先假设你已经有的表的名字为sheet1,保存的excel文件名为a.xls.(表中第一行有表头,否则第一行会忽略掉的)

那么就现在就在word里设计好一张表格,也就是你要打印的页面,至于名字等后面先空着,等下让它自己去连a.xls。

做到这里了,就开始来邮件合并吧:

1,word里做好后,你在工具栏那点右键,选上邮件合并,那么邮件合并的工具栏就会显示了。

2.在出来的的邮件合并工具栏中选第二个工具“打开数据源”,找到你的a.xls文件,确定后选择你的表名:sheet1。

3.把光标移到姓名后面,点邮件合并工具栏中第五个工具“插入域”,选上表头的名字,如:姓名。后面以此类推!

4,到这里就基本完成了,你可以选邮件合并工具栏中倒数第四个“合并到新文件”看看合并效果,理想的话可以直接打印了!

以上我是在excel2002版本中运行通过的,其他版本基本一样的!

代码:

Sub Macro1()

Dim arr, brr(), crr(1 To 30, 3 To 8), d As Object, k, t, a, i&, j&, m&, l&Dim w As WorksheetFunction, sh As Worksheet, wb As Workbook Application.ScreenUpdating = False Application.DisplayAlerts = False

Set d = CreateObject("scripting.dictionary") arr = [a1].CurrentRegion For i = 2 To UBound(arr)

s = arr(i, 2) &"_" &arr(i, 3) d(s) = d(s) &"," &i Next

k = d.Keys t = d.Items

Set sh = Sheets("模板") Set w = WorksheetFunction For i = 0 To d.Count - 1 a = Split(t(i), ",")

ReDim brr(1 To w.RoundUp(UBound(a) / 30, 0) * 30, 3 To 8) For j = 1 To UBound(a) brr(j, 3) = j For l = 4 To 8

brr(j, l) = arr(a(j), l) Next Next m = j - 1

For j = w.RoundUp(m / 30, 0) * 30 To 1 Step -30 f = j - 29

If wb Is Nothing Then sh.Copy

Set wb = ActiveWorkbook Else

sh.Copy Before:=wb.Sheets(1) End If

With ActiveSheet

.[A2] = .[A2] &Split(k(i), "_")(0) .[A3] = .[A3] &Split(k(i), "_")(1)

If m <= 30 Then

.[a5].Resize(m, 6) = brr .Name = k(i) Else

Erase crr n = 0

For v = f To f + 29 n = n + 1 For l = 3 To 8

crr(n, l) = brr(v, l) Next Next

.[a5].Resize(30, 6) = crr End If End With Next

If m >30 Then

For j = 1 To wb.Sheets.Count wb.Sheets(j).Name = k(i) &j Next End If

wb.Close True, Filename:=ThisWorkbook.Path &"\" &k(i) &".xls" Set wb = Nothing Next

Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "ok" End Sub

软件自带的有一个导入数据模板。

1、在【辅助功能-导入导出】,选择你需要导入的信息。

2、创建模板,填写文件名,保存到桌面。

3、按照模板的信息填入数据,在导入软件内即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9901715.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存