Я хочу перебрать значения столбца в таблице в файле Word и проверить, находятся ли эти значения в столбце таблицы в файле Excel. У меня есть следующий код:
Private Sub CompararColumnas_Click()
Dim wrdTbl As Table
'Set your table
With ActiveDocument
If ActiveDocument.Tables.Count >= 1 Then
Set wrdTbl = .Tables(InputBox("Table # to copy? There are " & .Tables.Count & " tables to choose from."))
End If
End With
Dim AD_UsersPath As String
AD_UsersPath = "C:\Users\" & Environ("Username") & "\Desktop\Comparar Columnas VBA\Animales.xlsx"
Dim AD_USERS As Object
Set AD_USERS = CreateObject("Excel.Application")
AD_USERS.Visible = False
AD_USERS.Application.Workbooks.Open AD_UsersPath
LastRow = ThisDocument.Tables(1).Columns(1).Cells.Count
Dim I As Integer
For I = 1 To LastRow
wVal = ThisDocument.Tables(1).Cell(I, 1)
User = AD_USERS.Cells(AD_USERS.Range("A:A").Find(What:=wVal).Row, 1).Text
wrdTbl.Cell(I, 2).Range.Text = User
Next I
End Sub
Этот код повторяет в wVal
значения из первого столбца в таблице из Word, а затем переходит в Excel, чтобы найти эти значения в первом столбце Таблица Excel. Если он их находит, он копирует значения во второй столбец таблицы слов. Однако это дает мне ошибку 91. Если вместо Find(What:=wVal)
я помещаю что-то вроде Find(What:="Word")
, это не дает мне ошибки и помещает слово «Word» в каждую ячейку второго столбца таблицы слов. Как я могу это решить?