Следующий макрос использует функцию VLookup между двумя рабочими книгами. Обе книги содержат таблицы. Цель - book1 для обновления значений с book2
Потеря данных (ячейки со значениями в book1 , столбец 7 удаляется) происходит, когда значение поиска отсутствует в book2 . Что приводит к моему вопросу: как предотвратить это удаление?
Sub Update()
Dim lookFor As Range
Dim srchRange As Range
Dim book1 As Workbook
Dim book2 As Workbook
Dim book2Name As String
book2Name = "table2.xlsm"
Dim book2NamePath As String
book2NamePath = ThisWorkbook.Path & "\" & book2Name
Set book1 = ThisWorkbook
If IsOpen(book2Name) = False Then Workbooks.Open (book2NamePath)
Set book2 = Workbooks(book2Name)
Set lookFor = book1.Sheets(1).Range("a23:a100")
Set srchRange = book2.Sheets(1).Range("b:f")
lookFor.Offset(0, 7).Value = Application.VLookup(lookFor, srchRange, 2, False)
End Sub