Начальник VBA и стараюсь учиться как можно больше, поэтому, пожалуйста, не стесняйтесь переубеждать.Excel «Ошибка выполнения« 424 »: требуется объект« При вызове логической функции
Goal: Внутри подпрограммы вызывается функция, возвращающая логическое значение true, когда два объекта перекрываются. Идея заключается в том, чтобы пользователь мог перетаскивать фигуры друг в друга, чтобы легко создавать иерархию.
Проблема: Я получаю «нужный объект» ошибку , как указано в названии на комментировал линии. RecA и RecB - это формы, о которых идет речь в аргументах функции. Функция, названная «Перекрытие», находится в Модуле 1.
Public Sub CommandButton1_Click()
Dim Function_Result As Boolean
Function_Result = Overlap(RecA, RecB) '<--------!
If Function_Result = True Then
MsgBox ("swiggity swooty")
End If
End Sub
Из исследования я только смог найти решение с помощью set
модификатора предшествующей Function_Result
который я пытался (наряду с другими возможными решениями) безрезультатно.
Если код функции полезен, сообщите мне, и я могу добавить его в этот пост.
Excel 2010
Заранее благодарен!
Где эти формы определены? Если эти фигуры находятся на рабочем листе, и это все код, который у вас есть в CommandButton1_Click() (который, я думаю, должен быть приватным, а не общедоступным), тогда я могу сказать вам, что VBA не распознает RecA и RecB как ничего, кроме пустых переменных , – Tyeler
По крайней мере, опубликуйте заголовок 'Overlap' и где/как' RecA' и 'RecB' определены –
Кроме того, ваша функция использует свойства формы для этого определения? Как '.Left',' .Top', '.Width',' .Height'? – Tyeler