Свойство ActiveCell
Свойство ActiveCell - это самый простой способ обратиться к активной ячейке.
Свойство ActiveCell объекта Application возвращает объект Range, представляющий активную ячейку на активном листе в активном или указанном окне приложения Excel. Если окно не отображает лист, применение свойства Application.ActiveCell приведет к ошибке.
Если свойство ActiveCell применяется к активному окну приложения Excel, то идентификатор объекта (Application или ActiveWindow) можно в коде VBA Excel не указывать. Следующие выражения, скопированные с сайта разработчиков, являются эквивалентными:
Но если нам необходимо обратиться к активной ячейке, находящейся в неактивном окне приложения Excel, тогда без указания идентификатора объекта на обойтись:
Программно сделать ячейку активной в VBA Excel можно с помощью методов Activate и Select:
#АктивнаяЯчейка #ВыбраннаяЯчейка #ActiveCell #Activate #Select
Свойство 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️⃣ Выделить одну ячейку
2️⃣ Выделить диапазон ячеек
3️⃣ Выделить весь столбец
4️⃣ Выделить всю строку
5️⃣ Выделить ячейки с данными (используем CurrentRegion)
6️⃣ Выделить последнюю заполненную строку в столбце A
7️⃣ Выделить последнюю заполненную колонку в строке 1
⚠️ Важно
🔹 Метод Select не всегда нужен в VBA, так как большинство операций можно выполнить без выделения ячеек.
🔹 Метод Select работает на активном листе. Если необходимый лист неактивен, его необходимо активировать:
💡 Когда использовать?
✅ При создании макросов, которые имитируют пользовательские действия.
✅ В кодах для навигации по ячейкам.
#VBA #ExcelVBA #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 #Выделение #ВыделениеЯчеек