Если вы посмотрите на ActiveSheet
в Обозревателе объектов (нажмите F2), вы увидите, что ActiveSheet
напечатано как Object
. Поэтому Intellisense не может отображать какие-либо дополнительные свойства, указывающие c для Worksheet
. Ввод Object
имеет смысл, поскольку активный лист может быть чем-то отличным от стандартного рабочего листа Excel, например листа диаграммы или диалогового листа.
Многие глобальные свойства строго типизированы, например, ActiveWorkbook
как Workbook
; Intellisense представит свойства и методы просто отлично.
Если вы уверены, что ActiveSheet
при использовании в этом коде всегда будет ссылаться на Worksheet
, вы можете присвоить его переменной Worksheet
:
Dim wks As Worksheet
Set wks = ActiveSheet
Intellisense затем предоставит вам соответствующие свойства и методы объекта Worksheet
для строго типизированной переменной:
(Теоретически объектная модель Excel могла бы набрать ActiveSheet
как что-то вроде Sheet
, что будет иметь все общие члены Worksheet
, Chart
и DialogSheet
. Я не уверен, почему это не было сделано.)