Я пытаюсь связать отчет документа Word с базой данных Excel с помощью VBA. Я вставил в свой документ различные элементы управления текстовым полем ActiveX. Я вручную ввожу каждое из этих текстовых полей с уникальным кодом («Код»). Другие элементы управления текстового поля будут автоматически заполняться на основе связанных данных в базе данных Excel. Соответствующим фактором будет «Код».
Когда я запускаю следующий код, я получаю
Ошибка времени выполнения 13 «Несоответствие типов»
в строке 16 (If cell.Value...
) , У меня нет большого опыта работы с VBA, но я видел много примеров, показывающих, что команда Value должна быть привязана к объекту Range. Спасибо за вашу помощь.
Private Sub CommandButton1_Click()
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim b As Excel.Range
Dim c As Excel.Range
Dim r As Excel.Range
Dim cell As Excel.Range
'Set variables
Set exWb = objExcel.Workbooks.Open("C:\Documents\Book.xlsx")
Set b = exWb.Sheets("Sheet1").Range("B:B")
Set c = exWb.Sheets("Sheet1").Range("C:C")
Set r = exWb.Sheets("Sheet1").Rows
Set cell = exWb.Sheets("Sheet1").Range("A1:Z1000")
For Each r In c
If cell.Value = ThisDocument.TextBox1.Value Then
ThisDocument.TextBox2.Value = b.Value
End If
Next r
exWb.Close
Set exWb = Nothing
End Sub