excel - 如何建立 VBA 宏以将范围而不是单个单元格复制并粘贴到 MS Word 文档中?
问题描述
我在下面有一个宏,它基本上需要一个 excel 单元格并粘贴到 MS 单词表中。现在,我每个“观察”有 4 个 excel 单元格,必须将它们复制并粘贴到一个有 5 列和 2 行的 MS 单词表中。粘贴单元格(A、E、F、I)时,需要分别进入表格的第 1、2、3 和 5 列。
有谁知道是否有办法将下面的代码压缩到一个简单的范围内?我不想告诉宏复制这个、粘贴那个、复制这个、粘贴那个..等等,我想告诉它复制这个范围、粘贴它,然后移动到下一个整个观察表。
Dim tb13 As Excel.Range
Set tb13 = ThisWorkbook.Worksheets("Observation Listing").Range("A10")
tb13.Copy
myDoc.Tables(4).Cell(Row:=2, Column:=1).Range.PasteExcelTable _
LinkedToExcel:=True, _
WordFormatting:=False, _
RTF:=True
'Obs Summary
Dim tb14 As Excel.Range
Set tb14 = ThisWorkbook.Worksheets("Observation Listing").Range("E11")
tb14.Copy
myDoc.Tables(4).Cell(Row:=2, Column:=2).Range.PasteExcelTable _
LinkedToExcel:=True, _
WordFormatting:=False, _
RTF:=True
'Pot. Bus. Impact
Dim tb15 As Excel.Range
Set tb15 = ThisWorkbook.Worksheets("Observation Listing").Range("F11")
tb15.Copy
myDoc.Tables(4).Cell(Row:=2, Column:=3).Range.PasteExcelTable _
LinkedToExcel:=True, _
WordFormatting:=False, _
RTF:=True
'Action Plan
Dim tb16 As Excel.Range
Set tb16 = ThisWorkbook.Worksheets("Observation Listing").Range("I11")
tb16.Copy
myDoc.Tables(4).Cell(Row:=2, Column:=5).Range.PasteExcelTable _
LinkedToExcel:=True, _
WordFormatting:=False, _
RTF:=True
解决方案
你可以使用这个:例如'Obs Summary
myDoc.Tables(4).Cell(2, 2).Range.text = _
ThisWorkbook.Worksheets("Observation Listing").Range("E11").value
您可以使用此循环遍历范围并将所有单元格值写入表中:
Dim rng As Range
Dim v As Variant
Dim col As Long, r As Long
Set rng = ThisWorkbook.Worksheets("ObservationListing").Range("A11:C11")
col = 1 'start with this column
r = 2 ' row
For Each v In rng.Cells
myDoc.Tables(4).Cell(r, col).Range.Text = v.Value
col = col + 1
Next v
推荐阅读
- python - 选择一个有效的选项。该选择不是可用的选择之一。Django 错误
- html - 是否可以在 Angular(不是 AngularJS)中包含一个 HTML 文件?
- python-3.x - 有没有一种方法可以智能地从网站收集数据?
- javascript - 设置 JS 幻灯片的高度和宽度
- autodesk-forge - 在 Forge BIM 360 API 中搜索项目
- php - Elementor Pro:从存档标题中更改或删除类别/标签/作者前缀
- node.js - 根据注册中的用户角色切换配置文件路由(Express.js)
- javascript - react中的购物车按钮有问题
- javascript - 为什么 Three.js 中的 DirectionalLight 不起作用?
- javascript - 在收到所有数据后如何开始循环遍历 json 以不破坏 swiper 大小?