将值从Excel拉到Word文本表单字段时无法访问正确的单元格

时间:2014-03-05 19:38:30

标签: excel vba

我正在尝试从Excel中提取数据并将其放入单词Text Form Field中。下面的代码工作,除了它不会从我指定的单元格中提取数据 - 它从不同的单元格中提取文本。我可以看到在Excel中选择了正确的单元格,因为它是大纲,但它根本不会从中提取数据。我已经搞砸了尝试不同的细胞,有些它可以提取我想要的数据,而其他人则可以从不同的细胞中提取数据。

任何人都知道为什么会发生这种情况以及如何解决这个问题?感谢。

Private Sub CommandButton1_Click()

Dim wrdApp
Dim wrdDoc
Dim Data

ActiveSheet.Cells(8, 1).Activate
Data = Selection.Cells(8, 1).Value

Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True

Set wrdDoc = wrdApp.Documents.Open("H:\jpmDesk\Desktop\VBA tester.docx")

With wrdDoc

wrdApp.ActiveDocument.Bookmarks("Text1").Select
wrdApp.Selection.Range.Text = Data

End With

Set wrdDoc = Nothing
Set wrdApp = Nothing

End Sub

2 个答案:

答案 0 :(得分:0)

更改

Data = Selection.Cells(8, 1).Value

Data = Selection.Value

答案 1 :(得分:0)

替换现有代码:

    ActiveSheet.Cells(8, 1).Activate
    Data = Selection.Cells(8, 1).Value

有了这个:

    Data = Range("A1").Offset(7, 0).Value


Cells(8,1).ValueRange("A1").Offset(7,0).Value

不同

通过使用Range对象的offset方法,您现在可以在不实际选择单元格的情况下检索值。

使用F8逐步查看VBE中的代码,了解其工作原理。