是否有可能将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或完整代码!
答案 0 :(得分:0)
您正在寻找WorkSheetFunction.LOOKUP
您可以在工作表中使用的任何功能'公式栏可以在WorkSheetFunction
答案 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属性