Я написал нижеприведенную функцию, но получаю сообщение об ошибке, которое невозможно скомпилировать из-за несоответствия времени на строке If intersect .... Отладка показывает значение выбранной ячейки, когда я парить над «Target», а не в диапазоне (я не знаю, если это свидетельствует о проблеме)Проблемы с получением excel для запуска кода vba при выборе ячейки
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lastEntry As Integer
Dim shiftEntries As Range
lastEntry = LastEntryRow()
Set shiftEntries = Range("A11:L" & lastEntry)
If Intersect(Target, shiftEntries) Then
Dim shiftDate As String
shiftDate = Cells(Target.Row, 1).Value
Cells(10, 15) = ShiftsInSevenDays(shiftDate)
End If
End Sub
Любая помощь очень ценится.
Отображение значения является нормальным поведением для переменной диапазона во время отладки, поскольку это свойство по умолчанию. Вы можете увидеть это, когда вы ссылаетесь на «Target.address». – nbayly
Возможно, это не «несоответствие времени», а скорее «несоответствие типа»? В соответствии с моим ответом ниже 'Intersect' возвращает диапазон, не являющийся логическим. Приветствия. – nbayly