我对VBA和宏不了解。
我需要重复一个任务,将数据从Excel复制并粘贴到Word文档的特定位置。
例如,我的Excel表格中有以下数据:
Col1 | Col2 |
---|---|
ID_1 | I'm_One |
ID_2 | I'm_Two |
ID_3 | I'm_Three |
现在我正在寻找一个Word宏,
- 获取Word表格中单元格位置为3的文本
- 在Excel Col1中查找相同的文本
- 获取Excel Col2的值
- 将Col2的值粘贴到Word表格中单元格位置为10
- 对Word文档中的另一个表格重复相同的过程
[更新] 我已经尝试了多个通过Google搜索获得的代码片段,但无法构建出工作的宏。
Sub pull_from_Excel2()
'ref: https://www.macworld.com/article/211753/excelwordvisualbasic.html
Dim Month As String
ID_Range = "A2:A6" 'Select this as range like "A2:A16"
Offset_to_fetch = 1 'Select this to fetch comments etc. value starts with
Set xlSheet = GetObject("D:\Excel.xlsx")
'Snippets:
'Debug.Print VarType(xlSheet.Worksheets("Sheet1").Range("A3:A5").Value)
'8204
Dim Cell As Range, rng As Range
Debug.Print VarType(xlSheet.Worksheets("Sheet1").Range(ID_Range).Value2)
Set rng = xlSheet.Worksheets(1).Range(ID_Range)
For Each Cell In rng
Debug.Print Cell.Text
Next Cell
End Sub
我使用这个链接构建我的骨架代码:https://www.macworld.com/article/211753/excelwordvisualbasic.html
当我尝试获取Excel表格中单元格范围的值时,代码会出现以下错误。
Set rng = xlSheet.Worksheets(1).Range(ID_Range).Value2
上述代码在运行时会出现“需要对象”的错误。
Set rng = xlSheet.Worksheets(1).Range(ID_Range)
上述代码在运行时会显示“类型不匹配”错误。 注:针对此错误,我尝试使用for each循环,因为这是一个数组,但是错误在执行for循环之前就显示出来了。
请帮忙解决。
单元格位置3
表示在一个表格中计算所有单元格的数量,但不是基于行或列。例如,如果一个有2行3列(R2XC3矩阵)的表格,则单元格位置3
的位置为R1XC3。 - Vinay