Вам, наверное, покажется странным, что я задаю такой простой вопрос - но всё же...
Может, кто объяснит в двух словах, в чем проблема?
Поместил такой макрос в модуль ЭтаКнига:
Sub test()
Dim ra As Range
Set ra = Intersect(Selection, ActiveSheet.UsedRange)
End Sub
Все работает без ошибок.
Потом открыл другую книгу, и попытался запустить из неё макрос, оставшийся в модуле ЭтаКнига другого файла.
Результат - ошибка (msgbox 400)
В чем проблема?
Я догадываюсь, что ошибка возникает при попытке взять пересечение из диапазонов, принадлежащим РАЗНЫМ книгам.
Но почему так происходит?
По идее, и Selection, и ActiveSheet.UsedRange должны ссылаться на активную книгу (на активный лист), но никак не на книгу, в модуле которой находится код.
Может, кто объяснит в двух словах, в чем проблема?
Поместил такой макрос в модуль ЭтаКнига:
Sub test()
Dim ra As Range
Set ra = Intersect(Selection, ActiveSheet.UsedRange)
End Sub
Все работает без ошибок.
Потом открыл другую книгу, и попытался запустить из неё макрос, оставшийся в модуле ЭтаКнига другого файла.
Результат - ошибка (msgbox 400)
В чем проблема?
Я догадываюсь, что ошибка возникает при попытке взять пересечение из диапазонов, принадлежащим РАЗНЫМ книгам.
Но почему так происходит?
По идее, и Selection, и ActiveSheet.UsedRange должны ссылаться на активную книгу (на активный лист), но никак не на книгу, в модуле которой находится код.