首页 > 解决方案 > 使用 Word VBA 将特定的 Excel 单元格值拉入 Word 文档

问题描述

我是 VBA 和宏的新手。

我得到了从 Excel 复制数据并将其粘贴到 word 文档中的特定位置的重复任务。

例如,我的 excel 表有这样的数据:

Col1 Col2
ID_1 我是_一个
ID_2 我是_二
ID_3 我是_三

现在我正在寻找一个 Word 宏

  1. 获取 Word 表格中单元格位置为 3 的文本
  2. 在 Excel Col1 中查找相同的文本
  3. 从 Excel 中获取 Col2 的值
  4. 将 Col2 的值粘贴到单元格位置为 10 的单词表中
  5. 对 Word 文档中的另一个表格重复相同的过程

[更新] 我通过谷歌搜索尝试了多个代码片段,但无法构建工作宏。

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

我使用这个 url 来构建我的骨架代码: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 每个循环,因为这是数组,但在执行 for 循环之前显示错误。

请协助。

标签: excelvbams-word

解决方案



推荐阅读