Есть 2 файла, ниже выдержки из кода. В представленном виде все работает, но стоит в первом дописать объявление переменных через «Dim x, y», или во втором эту строку убрать, добавив «Set» перед присвоением значения переменной, как редактор VBA ругается. Подскажите, почему так?
Файл 1 (модуль книги).
Private Sub Workbook_Open()
With Worksheets("Лист1")
.[B:B].ClearContents
Set x = .Columns("A").Find("*", .[A1], searchdirection:=xlPrevious)
Файл 2 (модуль листа).
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, y
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
Application.EnableEvents = False
[B:B].ClearContents
x = Columns("A").Find("*", [A1], searchdirection:=xlPrevious)
Файл 1 (модуль книги).
Private Sub Workbook_Open()
With Worksheets("Лист1")
.[B:B].ClearContents
Set x = .Columns("A").Find("*", .[A1], searchdirection:=xlPrevious)
Файл 2 (модуль листа).
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, y
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
Application.EnableEvents = False
[B:B].ClearContents
x = Columns("A").Find("*", [A1], searchdirection:=xlPrevious)