Активная ячейка в excel это: Свойство Window.ActiveCell (Excel) | Microsoft Learn

Содержание

Активная ячейка VBA — voxt.ru

Активная ячейка в Excel VBA

Активная ячейка — это текущая выбранная ячейка на листе, активная ячейка в VBA может использоваться как ссылка для перехода к другой ячейке или изменения свойств той же активной ячейки или ссылки на ячейки, предоставленной из активной ячейки, активная ячейка в VBA может можно получить с помощью метода application.property с ключевым словом active cell.

Чтобы эффективно работать с Кодирование VBAКодирование VBAКод VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи.читать далее, важно понимать концепцию объекта диапазона и ячейки свойства в VBA Свойства в VBAЯчейки — это ячейки рабочего листа, и в VBA, когда мы ссылаемся на ячейки как на свойство диапазона, мы ссылаемся на те же ячейки. В концепциях VBA ячейки также такие же, как и обычные ячейки Excel.читать далее. В этих концепциях есть еще одна концепция, которую вам нужно изучить, это «активная ячейка VBA».

В Excel есть миллионы ячеек, и вы наверняка сомневаетесь, какая из них является активной. Например, посмотрите на изображение ниже.

На самой картинке выше у нас много ячеек. Найти активную ячейку очень просто, независимо от того, какая ячейка выбрана прямо сейчас. В VBA это называется «Активная ячейка».

Если ваша активная ячейка не видна в вашем окне, посмотрите на поле имениПоле имениВ Excel поле имени находится в левой части окна и используется для присвоения имени таблице или ячейке. Имя обычно представляет собой символ строки, за которым следует номер столбца, например ячейка A1.читать далее, он покажет вам активный адрес ячейки. На изображении выше активный адрес ячейки — B3.

Даже когда в качестве диапазона ячеек выбрано множество ячеек, независимо от того, в какой ячейке находится первая ячейка, выбранная ячейка становится активной. Например, посмотрите на изображение ниже.

# 1 — Ссылки в Excel VBA

В наших предыдущих статьях мы видели как ссылаться на ячейкиКак ссылаться на ячейкиСсылка на ячейку в Excel ссылается на другие ячейки на ячейку для использования ее значений или свойств. Например, если у нас есть данные в ячейке A2 и мы хотим использовать их в ячейке A1, используйте = A2 в ячейке A1, и это скопирует значение A2 в A1.читать далее в VBA. По свойству Active Cell мы можем ссылаться на ячейку.

Например, если мы хотим выбрать ячейку A1 и вставить значение «Привет», мы можем записать его двумя способами. Ниже приведен способ выбора ячейки и вставки значения с помощью объекта VBA «RANGE».

Код:

Sub ActiveCell_Example1()
    Range("A1").Select
    Range("A1").Value = "Hello"
 
End Sub

Это сначала выберет ячейку A1 «Диапазон («A1»). Выбирать»

Затем он вставит значение «Hello» в ячейку A1.

Диапазон («A1»). Значение = «Привет»

Сейчас уберу строчку Диапазон («A1»). Значение = «Привет» и используйте свойство Active Cell для вставки значения.

Код:

Sub ActiveCell_Example1()
    Range("A1").Select
    ActiveCell.Value = "Hello"
End Sub

Точно так же сначала он выберет ячейку A1 «Диапазон («A1»). Выбирать»

Но здесь я использовал ActiveCell.Value = «Привет» вместо Диапазон («A1»). Значение = «Привет»

Причина, по которой я использовал свойство Active Cell, потому что в тот момент, когда я выбираю ячейку A1, она становится активной ячейкой. Таким образом, мы можем использовать свойство Excel VBA Active Cell для вставки значения.

# 2 — Адрес активной ячейки, значение, строка и номер столбца

Чтобы понять это еще лучше, давайте покажем адрес активной ячейки в окне сообщения. Теперь посмотрите на изображение ниже.

На изображении выше активной ячейкой является «B3», а значение — 55. Давайте напишем код на VBA, чтобы получить адрес активной ячейки.

Код:

Sub ActiveCell_Example2()
    MsgBox ActiveCell.Address
End Sub

Запустите этот код с помощью клавиши F5 или вручную. Затем он покажет адрес активной ячейки в окне сообщения.

Вывод:

Точно так же приведенный ниже код покажет значение активной ячейки.

Код:

Sub ActiveCell_Example2()
    MsgBox ActiveCell.Value
End Sub

Вывод:

Приведенный ниже код покажет номер строки активной ячейки.

Код:

Sub ActiveCell_Example2()
  MsgBox ActiveCell.Row
End Sub

Вывод:

Приведенный ниже код покажет номер столбца активной ячейки.

Код:

Sub ActiveCell_Example2() MsgBox ActiveCell.Column End Sub

Вывод:

# 3 — Параметры активной ячейки в Excel VBA

Активное свойство Cell также имеет параметры. После ввода свойства ActiveCell открывает круглые скобки, чтобы увидеть параметры.

Используя этот параметр, мы также можем ссылаться на другую ячейку.

Например, ActiveCell (1,1) означает, какая ячейка активна. Если вы хотите перейти на одну строку ниже, вы можете использовать ActiveCell (2,1). Здесь 2 не означает движение вниз на две строки, а только на одну строку вниз. Точно так же, если вы хотите переместить один столбец вправо, это код ActiveCell (2,2)

Например, посмотрите на изображение ниже.

На изображении выше активной ячейкой является A2. Чтобы вставить значение в активную ячейку, вы пишете этот код.

Код:

ActiveCell.Value = “Hiiii” or ActiveCell (1,1).Value = “Hiiii”

Запустите этот код вручную или с помощью клавиши F5. В ячейку будет вставлено значение «Hiiii».

Теперь, если вы хотите вставить то же значение в ячейку ниже, вы можете использовать этот код.

Код:

ActiveCell (2,1). Value = “Hiiii”

Это вставит значение в ячейку под активной ячейкой.

Если вы хотите сразу вставить значение в один столбец, вы можете использовать этот код.

Код:

ActiveCell (1,2).Value = “Hiiii”

Это вставит «Hiiii» в следующую ячейку столбца активной ячейки.

Таким образом, мы можем ссылаться на ячейки в VBA, используя свойство Active Cell.

Надеюсь, вам понравилось. Спасибо, что уделили нам время.

Вы можете скачать шаблон VBA Active Cell Excel здесь: — Шаблон активной ячейки VBA

УЗНАТЬ БОЛЬШЕ >>

Post Views: 1 961

Похожие записи

Активная ячейка / Активный лист

В программах электронных таблиц, таких как Excel или Google Spreadsheets, активная ячейка идентифицируется цветной рамкой или контуром, окружающим ячейку . Активная ячейка всегда находится на активном листе.

Клетки и Листы

Активная ячейка также называется текущей ячейкой или ячейкой, в которой находится фокус курсора. Даже если вы выбрали несколько ячеек, только одна обычно имеет фокус, который по умолчанию выбран для получения ввода. Например,  данные,  введенные с клавиатуры или вставленные из буфера обмена, отправляются в ячейку, которая имеет фокус. Исключением является случай, когда формула массива вводится в несколько ячеек одновременно.

Точно так же активный лист или  текущий лист — это лист, содержащий активную ячейку. Как и активная ячейка, считается, что активный лист находится в  фокусе, когда речь идет о  выполнении действий, которые влияют на одну или несколько ячеек — например, форматирование — и изменения происходят на активном листе по умолчанию.

Активная ячейка и лист могут быть легко изменены. В случае активной ячейки, либо нажатие на другую ячейку указателем мыши, либо нажатие клавиш со стрелками на клавиатуре приведет к выбору новой активной ячейки.

Измените активный лист, щелкнув другую вкладку листа указателем мыши или с помощью сочетания клавиш.

Активная ячейка и поле имени

Ссылка на ячейку для активной ячейки появляется в поле Область , расположенная выше столбца A на листе. Если активной ячейке было присвоено имя , отдельно или как часть диапазона ячеек, вместо этого имя диапазона отображается в поле «Имя».

Изменение активной ячейки в группе выделенных ячеек

Если была выбрана группа или диапазон ячеек , активная ячейка может быть изменена без повторного выбора диапазона с помощью следующих клавиш на клавиатуре:

  • Enter : перемещает выделение активной ячейки вниз на одну ячейку в пределах выбранного диапазона.
  • Shift + Enter : перемещает активную ячейку на одну ячейку вверх в пределах выбранного диапазона.
  • Tab : перемещает активную ячейку на одну ячейку вправо в пределах выбранного диапазона.
  • Shift + Enter : перемещает активную ячейку на одну ячейку влево в пределах выбранного диапазона.
  • Ctrl + . (
    период
    ): перемещает активную ячейку по часовой стрелке к следующему углу выбранного диапазона.

Перемещение активной ячейки в другую группу выбранных ячеек

Если в одной рабочей таблице выделено несколько групп или диапазонов несмежных ячеек, выделение активной ячейки можно перемещать между этими группами выбранных ячеек с помощью следующих клавиш на клавиатуре:

  • Ctrl + Alt + Стрелка вправо : перемещает выделение активной ячейки на следующий несмежный диапазон справа от текущего местоположения.
  • Ctrl + Alt + Стрелка влево : перемещает выделение активной ячейки в следующий несмежный диапазон слева от текущего местоположения.

Выбор нескольких листов и активного листа

Несмотря на то, что можно выбрать или выделить несколько листов одновременно, только имя активного листа выделено жирным шрифтом, и большинство изменений, внесенных при выборе нескольких листов, будут влиять только на активный лист.

Изменение активного листа с помощью сочетаний клавиш

Измените активный лист, щелкнув по вкладке другого листа указателем мыши, или используйте сочетания клавиш:

В Excel

  • Перемещение на лист слева:  Ctrl + PgUp .
  • Перемещение на лист справа:  Ctrl + PgDn .

В таблицах Google

  • Перемещение на лист слева:  Ctrl +
    Shift
    + PgUp .
  • Перемещение на лист справа:  Ctrl + Shift + PgDn .

Использование активной ячейки в VBA в Excel (примеры)

«Активная ячейка» — важная концепция в Excel.

Хотя вам не нужно заботиться об активной ячейке при работе с рабочим листом, это важно знать при работе с VBA в Excel.

Правильное использование активной ячейки в Excel VBA может помочь вам писать лучший код.

В этом руководстве я сначала объяснил, что такое активная ячейка, а затем покажу несколько примеров использования активной ячейки в VBA в Excel.

Это руководство охватывает:

Что такое активная ячейка в Excel?

Активная ячейка, как следует из названия, — это текущая активная ячейка, которая будет использоваться при вводе любого текста или формулы в Excel.

Например, если я выберу ячейку B5, то B5 станет моей активной ячейкой на листе. Теперь, если я наберу что-нибудь с клавиатуры, это будет введено в эту ячейку, потому что это активная ячейка.

Хотя это может показаться очевидным, вот кое-что не столь очевидное: даже при выборе диапазона ячеек у вас будет только одна активная ячейка.

Например, если я выбираю A1:B10, хотя у меня есть 20 выделенных ячеек, у меня остается только одна активная ячейка.

Итак, теперь, если я начну вводить текст или формулу, они будут введены только в активную ячейку.

Вы можете определить активную ячейку, взглянув на разницу в цвете между активной ячейкой и всеми остальными ячейками в выделении. Вы заметите, что активная ячейка имеет более светлый оттенок, чем другие выбранные ячейки.

Еще один быстрый способ узнать, какая ячейка является активной, — просмотреть поле «Имя» (поле рядом с панелью формул). Ссылка на активную ячейку будет отображаться в поле имени.

Использование активной ячейки в VBA в Excel

Теперь, когда я объяснил, что такое активная ячейка на листе в Excel, давайте узнаем, как можно использовать активную ячейку в Excel VBA.

Свойства и методы активной ячейки

В VBA вы можете использовать активную ячейку двумя способами:

  1. Чтобы получить информацию о ней (они называются Свойства )
  2. называется Methods )

Вот как вы можете получить доступ ко всем свойствам и методам активной ячейки в VBA:

  1. Открытие модуля в редакторе Excel VBA
  2. Введите фразу «ActiveCell»
  3. Введите точку (.) после слова ActiveCell

Как только вы это сделаете, вы заметите, что набор свойств и методов отображаются в виде раскрывающегося списка (это называется IntelliSense в Excel VBA).

В появившемся раскрывающемся списке вы увидите два типа опций — тот, у которого есть зеленый значок, и тот, у которого есть серый значок (с рукой).

Серые значки — это свойства, а зеленые — методы.

Некоторые примеры методов включают в себя «Активировать», «Добавить комментарий», «Вырезать», «Удалить», «Очистить» и т. д. Как вы можете заметить, это действия, которые можно выполнять с активной ячейкой.

Некоторые примеры свойств включают Address, Font, HasFormula, Interior.Color. Все это свойства активной ячейки, которые дают вам информацию об этой активной ячейке.

Например, вы можете использовать это, чтобы получить адрес активной ячейки или изменить цвет внутренней ячейки ячейки.

Теперь давайте рассмотрим несколько простых примеров кода VBA, которые вы можете использовать в своей повседневной работе при работе с активной ячейкой в ​​Excel

Создание активной ячейки

Чтобы сделать любую ячейку активной, сначала нужно убедиться, что он выбран.

Если выбрана только одна отдельная ячейка, она по умолчанию становится активной ячейкой.

Ниже приведен код VBA, чтобы сделать ячейку B5 активной:

 Sub Change_ActiveCell()
Диапазон ("B5"). Активировать
Конец суб 

В приведенном выше коде VBA я сначала указал адрес ячейки, которую я хочу активировать (это B5), а затем я использую метод активации, чтобы сделать ее активной ячейкой.

Если вы хотите сделать активной ячейку только одну ячейку, вы также можете использовать метод выбора (код ниже):

 Sub Change_ActiveCell()
Диапазон("B5").Выбрать
End Sub 

Как я упоминал ранее, у вас может быть только одна активная ячейка, даже если у вас выбран диапазон ячеек.

С помощью VBA вы можете сначала выбрать диапазон ячеек, а затем сделать любую из этих ячеек активной ячейкой.

Ниже кода VBA, который сначала выбирает диапазон A1: B10, а затем делает ячейку A5 активной ячейкой:

 Sub Select_ActiveCell()
Диапазон("A1:B10"). Выбрать
Диапазон ("A5"). Активировать
End Sub 

Очистить активную ячейку

Ниже приведен код VBA, который сначала сделает ячейку A5 активной, а затем очистит ее содержимое (содержимое ячейки, а также любое форматирование, примененное к ячейке).

 Sub Clear_ActiveCell()
Диапазон ("A5"). Активировать
ActiveCell.Clear
End Sub 

Обратите внимание, что я показал вам приведенный выше код только для того, чтобы показать вам, как метод очистки работает с активной ячейкой. В VBA вам не нужно всегда выбирать или активировать ячейку, чтобы применить к ней какой-либо метод.

Например, вы также можете очистить содержимое ячейки A5, используя следующий код:

 Sub Clear_CellB5() 
Range("A5").Clear
End Sub

Получить значение из активной ячейки

Ниже Код VBA, который может показать вам окно сообщения, отображающее значение в активной ячейке:

 Sub Show_ActiveCell_Value() 
MsgBox ActiveCell.Value
End Sub

Аналогично, вы также можете использовать простой код VBA для отображения адреса ячейки активная ячейка (код ниже):

 Подпрограмма Show_ActiveCell_Address()
MsgBox ActiveCell. Address
End Sub 

Приведенный выше код показывает адрес в абсолютной ссылке (например, $A$5).

Форматирование активной ячейки (цвет, граница)

Ниже код VBA, который сделает активную ячейку синей и изменит цвет шрифта на белый.

 Подформат_ActiveCell()
 
'Делает активную ячейку синей в цвете 
ActiveCell.Interior.Color = vbBlue
  'Изменяет цвет шрифта ячейки на белый 
ActiveCell.Font.Color = vbWhite
End Sub 

Обратите внимание, что я использовал встроенную цветовую константу (vbBlue и vbWhite). Вы также можете использовать константу RGB. Например, вместо vbRed можно использовать RGB(255, 0, 0)

Смещение от активной ячейки

VBA в Excel позволяет ссылаться на ячейки относительно положения активной ячейки (это называется смещением) .

Например, если моей активной ячейкой является ячейка A1, я могу использовать свойство смещения в активной ячейке и ссылаться на ячейку под ней, указав положение этой строки, соответствующей активной ячейке.

Позвольте мне показать вам пример.

 Sub Offset_From_ActiveCell()
  'Сделать ячейку A1 активной ячейкой 
Диапазон ("A1"). Активировать
  'Переходит на одну ячейку ниже ячейки действия и вводит в нее текстовый тест 
ActiveCell.Offset(1, 0).Value = "Тест"
End Sub 

Приведенный выше код сначала активирует ячейку A1 и делает ее активной ячейкой. Затем он использует свойство смещения активной ячейки для ссылки на ячейку, которая находится на одну строку ниже нее.

И в той же строке кода я также присвоил значение «Тест» той ячейке, которая находится на одну строку ниже активной ячейки.

Позвольте мне показать вам еще один пример, где можно использовать смещение от активной ячейки в практическом сценарии.

Ниже у меня есть код VBA, который сначала активирует ячейку A1, а затем использует свойство смещения для покрытия 10 ячеек ниже активной ячейки и ввода чисел от 1 до 10 в ячейку A1:A10.

 Sub Offset_From_ActiveCell()
  'Активирует ячейку A1 
Диапазон ("A1").  Активировать
  'Цикл, чтобы пройти 10 ячеек ниже активной ячейки и ввести в нее порядковые номера 
Для i = от 1 до 10
    ActiveCell.Offset(i - 1, 0).Value = i
Далее я
Конец сабвуфера
 

В приведенном выше коде используется цикл For Next, который выполняется 10 раз (и каждый раз значение переменной «i» увеличивается на 1). И поскольку я также использую «i» в свойстве смещения, оно продолжает опускаться на одну ячейку с каждой итерацией.

Получить номер строки или столбца ActiveCell

Ниже кода VBA, который покажет вам номер строки активной ячейки в окне сообщения:

 Sub ActiveCell_RowNumber()
MsgBox ActiveCell.Row
End Sub 

И приведенный ниже код покажет вам номер столбца в окне сообщения:

 Sub ActiveCell_ColumnNumber() 
MsgBox ActiveCell.Column
End Sub

Присвоить значение активной ячейки переменной

Вы также можете использовать VBA, чтобы присвоить активную ячейку переменной. Как только это будет сделано, вы можете использовать эту переменную вместо активной ячейки в своем коде.

И чем это поможет? Хороший вопрос!

Когда вы назначаете активную ячейку переменной, вы можете продолжать использовать эту переменную вместо активной ячейки. Преимущество здесь в том, что в отличие от активной ячейки (которая может меняться при активации других листов или рабочих книг) ваша переменная будет по-прежнему ссылаться на исходную активную ячейку, которой она была назначена.

Итак, если вы пишете код VBA, который циклически перебирает каждый рабочий лист и активирует эти рабочие листы, в то время как ваша активная ячейка будет меняться по мере активации новых листов, переменная, которой вы изначально присвоили активную ячейку, не изменится.

Ниже приведен пример кода, который определяет переменную «varcell» и присваивает этой переменной активную ячейку.

 Sub Assign_ActiveCell()
Dim varcell As Range
Установите varcell = ActiveCell
MsgBox varcell.Value
End Sub 

Выберите диапазон ячеек, начиная с активной ячейки

И последнее, что я хочу показать вам об использовании активной ячейки в Excel VBA, — это выбор всего диапазона ячеек, начиная с активной ячейки.

Практический пример использования этого может быть, когда вы хотите быстро отформатировать набор ячеек на каждом листе в вашей книге.

Ниже приведен код VBA, который будет выбирать ячейки в 10 строках и 10 столбцах, начиная с активной ячейки:

 Sub Select_from_Activecell() 
Range(ActiveCell, ActiveCell.Offset(10, 10)). Выберите
End Sub

Когда мы указываем две ссылки на ячейки внутри свойства Range, VBA ссылается на весь диапазон, охватываемый этими двумя ссылками.

Например, Range(Range(«A1»), Range(«A10»)).Select выберет ячейку A1:A10.

Точно так же я использовал его с активной ячейкой, где первая ссылка является самой активной ячейкой, а вторая ссылка смещает активную ячейку на 10 строк и 10 столбцов.

Я надеюсь, что это руководство помогло вам понять, как работает активная ячейка в Excel VBA.

Другие учебные пособия по Excel, которые также могут оказаться полезными:

  • Выделение активной строки и столбца в диапазоне данных в Excel
  • 24 полезных примера макросов Excel для начинающих VBA (готово к использованию)
  • Как фильтровать Ячейки с форматированием полужирным шрифтом в Excel (простое руководство)
  • Как удалить всю строку в Excel с помощью VBA
  • Копирование и вставка нескольких ячеек в Excel (смежных и несмежных)
  • Работа с рабочими листами с помощью Excel VBA (объяснено с помощью Примеры)
  • Использование объекта рабочей книги в Excel VBA (открытие, закрытие, сохранение, установка)
  • События Excel VBA — простое (и полное) руководство
  • Как редактировать ячейки в Excel? (Ярлыки)

Как использовать ActiveCell в VBA в Excel

Главная / VBA / Как использовать ActiveCell в VBA в Excel

Использовать свойство активной ячейки

Важные моменты

Активировать ячейку из выбранного диапазона

Возвращаемое значение из активной ячейки

Установить активную ячейку в переменную

Получить номер строки и столбца ActiveCell

Получить адрес активной ячейки

Переместиться из активной ячейки, используя смещение

Выбрать диапазон из активной ячейки

Активная ячейка в VBA это свойство, представляющее активную в данный момент ячейку. Когда вы выбираете ячейку или переходите к ячейке, и эта зеленая рамка закрывает эту ячейку, вы можете использовать свойство ACTIVECELL для ссылки на эту ячейку в коде VBA. Есть свойства и методы, которые идут с ним.

Использовать свойство активной ячейки

  1. Введите ключевое слово «ActiveCell».
  2. Введите точку (.), чтобы получить список свойств и методов.
  3. Выберите свойство или метод, который вы хотите использовать.
  4. Запустите код для выполнения действия в активной ячейке.

Полезные ссылки: Запуск макроса — Средство записи макросов — Редактор Visual Basic — Личная книга макросов

Важные моменты

  • сколько рабочих книг открыто в данный момент.
  • ActiveCell — это, в конечном счете, ячейка со всеми свойствами и методами, которыми обладает обычная ячейка.

Активировать ячейку из выбранного диапазона

Чтобы активировать ячейку с помощью кода VBA, вы можете использовать два способа: метод «Активировать» и метод «Выбрать».

 Подпрограмма vba_activecell()
'выбрать и весь диапазон
Диапазон("A1:A10").Выбрать
'выбрать ячейку A3 из выбранного диапазона
Диапазон ("A3"). Активировать
'удаляет все из активной ячейки
ActiveCell.Clear
Конец суб 

Приведенный выше код, в первую очередь, выбирает диапазон A1:A10, а затем активирует из него ячейку A3 и, в конце концов, очищает все из активной ячейки, т.е. A3.

Возвращаемое значение из активной ячейки

Следующий код возвращает значение из активной ячейки с помощью окна сообщения.

 MsgBox ActiveCell.Value 

Или, если вы хотите получить значение из активной ячейки и вставить его в отдельную ячейку.

 Диапазон ("A1") = ActiveCell.Value 

Установить активную ячейку на переменную

Вы также можете установить активную ячейку на переменную, как в следующем примере.

 Подпрограмма vba_activecell()
'объявляет переменную как диапазон
Dim myCell As Range
'установить активную ячейку в переменную
Установите myCell = ActiveCell
'введите значение в активную ячейку
myCell.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *