Excel:菜单工具-宏-Visual Basic编辑器,粘贴代码到ThisWorkbook中。
Visual Basic编辑器:菜单工具-引用,引用Microsoft Word 9.0 Object Library。

- [FONT=courier new]
- Sub test()
- On Error Resume Next
- ' 启动Word
- Dim wd As Word.Application
- Set wd = GetObject(, "Word.Application")
- If Err Then
- Err.Clear
- Set wd = CreateObject("Word.Application")
- If Err Then
- MsgBox "无法启动Word! "
- Exit Sub
- End If
- End If
- wd.Visible = True
-
- On Error GoTo ErrTrap
- Dim t As Table
- Dim i As Integer
- Dim j As Integer
- For i = 1 To ActiveSheet.UsedRange.Rows.Count 'Excel中所使用的行。
- If (i - 1) Mod 15 = 0 Then
- ' 增加一段落,避免所有的表连结在一起
- wd.ActiveDocument.Paragraphs.Add
- ' 选定最后一个段落
- wd.ActiveDocument.Paragraphs.Last.Range.Select
- ' 创建一个15行的表格,列数为Excel中所使用的列。
- Set t = wd.ActiveDocument.Tables.Add(wd.Selection.Range, 15, ActiveSheet.UsedRange.Columns.Count)
- End If
- For j = 1 To ActiveSheet.UsedRange.Columns.Count 'Excel中所使用的列。
- If i Mod 15 = 0 Then '处理每第15行的情况
- t.Cell(15, j).Range.Text = ActiveSheet.Cells(i, j)
- Else '处理其它行的情况
- t.Cell(i Mod 15, j).Range.Text = ActiveSheet.Cells(i, j)
- End If
- Next
- Next
- Exit Sub
-
- ErrTrap:
- On Error GoTo 0
- End Sub
- [/FONT]
|