Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA将WORD表格中的搜索数据提取到EXCEL_Excel_Vba_Ms Word - Fatal编程技术网

使用VBA将WORD表格中的搜索数据提取到EXCEL

使用VBA将WORD表格中的搜索数据提取到EXCEL,excel,vba,ms-word,Excel,Vba,Ms Word,如何使用宏提取word表中的搜索数据 样本表: 我想在搜索Rina时得到这个号码 有人能帮我吗。谢谢你这是一个非常基本的问题,如果你在谷歌上搜索,你会找到很多答案。然而,你可以用各种各样的方式来做。使用下面的VLookup =VLOOKUP(G2,A2:E3,5) 您可以使用索引/匹配组合,如- =INDEX(E2:E3,MATCH(G2,A2:A3,0)) 如果您有Office365,则可以使用XLOOKUP 例如: Sub Demo() Application.ScreenUpdatin

如何使用宏提取word表中的搜索数据

样本表:

我想在搜索Rina时得到这个号码


有人能帮我吗。谢谢你

这是一个非常基本的问题,如果你在谷歌上搜索,你会找到很多答案。然而,你可以用各种各样的方式来做。使用下面的VLookup

=VLOOKUP(G2,A2:E3,5)
您可以使用索引/匹配组合,如-

=INDEX(E2:E3,MATCH(G2,A2:A3,0))
如果您有Office365,则可以使用XLOOKUP

例如:

Sub Demo()
Application.ScreenUpdating = False
Dim StrOut As String
With ActiveDocument.Tables(1).Range
  With .Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = InputBox("What is the Name to Find")
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = True
    .MatchWholeWord = True
    .Execute
  End With
  If .Find.Found = True Then
    MsgBox "The Number is: " & Split(.Rows(1).Cells(5).Range.Text, vbCr)(0)
  End If
End With
Application.ScreenUpdating = True
End Sub

如果我正在访问的表格是Microsoft Word呢?那么请先在谷歌上搜索,然后发布您的成果。同时标记问题ms word。@Harun24HR您的“答案”忽略OP帖子中的第一句话,这句话清楚地表示“在单词表中搜索数据”。您发布的Excel函数在Word中不可用。@Macrood如果OP提到MS Word表格会更好。@Harun24HR他们显然指的是«Word表格»。您只是没有注意……您至少需要告诉我们有关Excel工作簿的一些信息,数据的去向,以及宏是从Word还是从Excel运行。也请记住,StackOverlow不是免费的编码服务。所以请把你遇到麻烦的代码贴出来。
=XLOOKUP(G2,A2:A3,E2:E3)
Sub Demo()
Application.ScreenUpdating = False
Dim StrOut As String
With ActiveDocument.Tables(1).Range
  With .Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = InputBox("What is the Name to Find")
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = True
    .MatchWholeWord = True
    .Execute
  End With
  If .Find.Found = True Then
    MsgBox "The Number is: " & Split(.Rows(1).Cells(5).Range.Text, vbCr)(0)
  End If
End With
Application.ScreenUpdating = True
End Sub