VBA Excel
241 subscribers
88 photos
23 links
VBA Excel для начинающих. Справка по VBA Excel. Visual Basic for Applications. Справочник. Самоучитель.
Download Telegram
Свойство ActiveCell

Свойство ActiveCell - это самый простой способ обратиться к активной ячейке.

Свойство ActiveCell объекта Application возвращает объект Range, представляющий активную ячейку на активном листе в активном или указанном окне приложения Excel. Если окно не отображает лист, применение свойства Application.ActiveCell приведет к ошибке.

Если свойство ActiveCell применяется к активному окну приложения Excel, то идентификатор объекта (Application или ActiveWindow) можно в коде VBA Excel не указывать. Следующие выражения, скопированные с сайта разработчиков, являются эквивалентными:
ActiveCell
Application.ActiveCell
ActiveWindow.ActiveCell
Application.ActiveWindow.ActiveCell


Но если нам необходимо обратиться к активной ячейке, находящейся в неактивном окне приложения Excel, тогда без указания идентификатора объекта на обойтись:
Sub Primer1()
    With Windows("Книга2.xlsx")
        .ActiveCell = 325
        MsgBox .ActiveCell.Address
        MsgBox .ActiveCell.Value
    End With
End Sub


Программно сделать ячейку активной в VBA Excel можно с помощью методов Activate и Select:
Range("E6").Select
Range("D4").Activate


#АктивнаяЯчейка #ВыбраннаяЯчейка #ActiveCell #Activate #Select
🔳 Метод Select объекта Range
Метод Select используется для выбора (выделения) диапазона на листе. Это аналог ручного выделения ячеек в Excel с помощью мыши или клавиатуры.

📌 Примеры

1️⃣ Выделить одну ячейку
Sub SelectSingleCell()  
Range("B2").Select
End Sub



2️⃣ Выделить диапазон ячеек
Sub SelectRange()  
Range("A1:D5").Select
End Sub



3️⃣ Выделить весь столбец
Sub SelectColumn()  
Columns("B").Select
End Sub



4️⃣ Выделить всю строку
Sub SelectRow()  
Rows("3").Select
End Sub



5️⃣ Выделить ячейки с данными (используем CurrentRegion)
Sub SelectDataRegion()  
Range("A1").CurrentRegion.Select
End Sub



6️⃣ Выделить последнюю заполненную строку в столбце A
Sub SelectLastRow()  
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & LastRow).Select
End Sub



7️⃣ Выделить последнюю заполненную колонку в строке 1
Sub SelectLastColumn()  
Dim LastCol As Long
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Cells(1, LastCol).Select
End Sub



⚠️ Важно
🔹 Метод Select не всегда нужен в VBA, так как большинство операций можно выполнить без выделения ячеек.
🔹 Метод Select работает на активном листе. Если необходимый лист неактивен, его необходимо активировать:
Sheets("Лист1").Activate  
Range("A1").Select


💡 Когда использовать?
При создании макросов, которые имитируют пользовательские действия.
В кодах для навигации по ячейкам.

#VBA #ExcelVBA #Select #Range #Выделение #ВыделениеЯчеек