如何从excel中的LOOKUP函数填充word模板

时间:2015-06-17 13:00:47

标签: excel vba ms-word bookmarks

是否有可能将LOOKUP函数插入.TypeText部分?

现在,我已经创建了另一个基本上是在A1单元格上创建的查找函数的单元格。这是100%的工作。

我想删除整列查询,并将其直接合并到代码中。

创意:从单元格A1中,在另一个工作表中查找并提取一些值,并通过书签将该值导入到单词中。

立即

.GoTo What:=wdGoToBookmark, Name:=BOOKMARK8  
      .TypeText personList(i, 8)`

我的想法:

.GoTo What:=wdGoToBookmark, Name:=BOOKMARK8  
      .TypeText Text:= LOOKUP((i, 1),Sheet2!A:A,Sheet2!B:B)`

感谢。

p.s告诉我我是否清楚,否则我会附上.xls或完整代码!

3 个答案:

答案 0 :(得分:0)

您正在寻找WorkSheetFunction.LOOKUP

您可以在工作表中使用的任何功能'公式栏可以在WorkSheetFunction

之后的VBA中使用

Here is MSDN on the WorkSheetFunction object

答案 1 :(得分:0)

感谢您的快速回复。但是我决定插入INDEX& MATCH而不是LOOKUP。

我在网上找到了一些代码,我正在对它进行小幅调整。

Sub Test()
Dim x As String


Dim ws1, ws2 As Worksheet
Dim i As Long
Dim limit As Range
Set ws1 = ActiveWorkbook.Sheets("Sheet1")
Set ws2 = ActiveWorkbook.Sheets("Sheet2")

With ws1




On Error Resume Next
x = Application.WorksheetFunction.Index(Range("Sheet2!$B$1:$B$5"), Application.WorksheetFunction.Match(Range("Sheet1!$A$1"), Range("Sheet2!$A$1:$A$5"), 0))

'=INDEX(Sheet2!$B$1:$B$5;MATCH(Sheet1!A1;Sheet2!$A$1:$A$5;0))'

If Err = 0 Then
    ws1.Range("B1") = x
Else
    MsgBox "Not found"
    Err.Clear
End If
On Error GoTo 0

End With

End Sub

但没有运气。 我把它放在评论中的公式工作得很好,现在我试图将它合并到vba形状中。

感谢。

答案 2 :(得分:0)

以下是代码的一部分。

 For i = 2 To total      'for each person: open the template file and update details


    Set wDoc = wApp.Documents.Open(FILE_PATH & FILE_NAME & FILE_EXT, ReadOnly:=True)
    With wApp.Selection
     datPremFormat = Cells(i, 11).Value
     mesDanaKamFormat = Cells(i, 12).Value



           x = Application.WorksheetFunction.Index(Sheets("Sheet3").Range("$C$2:$C$1000"), Application.WorksheetFunction.Match(Sheets("Sheet1").Range("B" & i), Sheets("Sheet3").Range("$A$2:$A$1000"), 0), 1)




        .GoTo What:=wdGoToBookmark, Name:=BOOKMARK  'go to Bookmark "FirstName"
        .TypeText personList(i, 1)                  'type the value from column 2




End With
    With wDoc   'sava and close the new Word file
        .SaveAs2 FILE_PATH & " person " & personList(i, 1) & FILE_EXT
        .Close
    End With
Next
wApp.Quit
Set wDoc = Nothing
Set wApp = Nothing
MsgBox "Created " & total & " files in " & FILE_PATH

所以,重点是:x字符串工作正常,我只是通过MsgBox检查它。显然,由于这个for循环,我无法正确行事。

运行时错误:1004 无法获取WorksheetFunction类的Match属性