Как найти адрес активной ячейки

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

Получить адрес активной ячейки с формулой
Получить адрес активной ячейки с кодом VBA
Отображение адреса активной ячейки в указанной ячейке с кодом VBA
Динамически отображать адрес активной ячейки с помощью удивительного инструмента


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

В этом разделе мы предоставим вам формулу легкого получения адреса активной ячейки.

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

2. Введите в нее приведенную ниже формулу и нажмите Enter .

=ADDRESS(ROW(),COLUMN())

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

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


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

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

1. нажмите другой + F11 одновременно открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений дважды щелкните имя текущего рабочего листа на левой панели, чтобы открыть редактор кода, затем скопируйте и вставьте приведенный ниже код VBA в редактор кода.

Код VBA: получить адрес активной ячейки

Sub selectRange()
	MsgBox ActiveCell.Address
End Sub

3. Затем нажмите Run кнопку для запуска кода.

4. Затем появится диалоговое окно с адресом активной ячейки, указанным внутри.


Отображение адреса активной ячейки в указанной ячейке с кодом VBA

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

1. Откройте Microsoft Visual Basic для приложений окно, нажав другой + F11 одновременно.

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

Код VBA: отображать адрес активной ячейки в указанной ячейке

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
	Range("A1").Value = ActiveCell.Address
End Sub

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

3. Затем нажмите Файл > Закройте и вернитесь в Microsoft Excel Для выхода из Microsoft Visual Basic для приложений окно.

Вы можете видеть, что адрес активной ячейки отображается в ячейке A1, и адрес будет изменяться автоматически в зависимости от изменения активной ячейки. Смотрите скриншот:


Динамически отображать адрес активной ячейки с помощью удивительного инструмента

Если вы хотите динамически отображать адрес активной ячейки на листе, я настоятельно рекомендую Расширенная панель редактирования инструмент Kutools for Excel. Давайте посмотрим, как этот инструмент может динамически отображать адрес активной ячейки на листе.

1. Нажмите Кутулс > Показать спрятать > Расширенная панель редактирования для включения функции.

С этого момента каждый раз, когда вы щелкаете ячейку, появляется окно расширенной панели редактирования. И адрес активной ячейки будет отображаться в нижней части окна.
Tips: Вы можете просматривать и редактировать содержимое ячейки прямо в окне.

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



Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

 

Добрый день.  

  Может кто нибудь подсказать возможно ли узнать адрес активной ячейки при помощи формулы без VBA , и если это возможно то как?

 

webley

Пользователь

Сообщений: 2032
Регистрация: 01.01.1970

=АДРЕС(СТРОКА();СТОЛБЕЦ())

 
 

{quote}{login=}{date=02.11.2010 02:03}{thema=}{post}______________{/post}{/quote}  

  спасибо , а не могли бы в кратце объяснить как это работает , для именного диапазона «aaa» я нашёл формулу , но что то не понятно как это работает.  
И макроса вроде нет никакого ,хотя предупреждение при открытии выдаёт?

 
 

{quote}{login=webley}{date=02.11.2010 01:57}{thema=}{post}=АДРЕС(СТРОКА();СТОЛБЕЦ()){/post}{/quote}  

  АДРЕС(СТРОКА();СТОЛБЕЦ()) — это конечно хорошо , но как мне допустим сделать так чтобы  в ячейке А1 отображался адрес активной ячейки

 
 

Юрий М

Модератор

Сообщений: 60745
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=}{date=02.11.2010 02:58}{thema=Re: }{post}{quote}{login=webley}{date=02.11.2010 01:57}{thema=}{post}{/post}{/quote} как мне допустим сделать так чтобы  в ячейке А1 отображался адрес активной ячейки{/post}{/quote}  
В модуль листа:  
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   [A1] = Target.Address
End Sub

 

{quote}{login=}{date=02.11.2010 03:06}{thema=}{post}=ЯЧЕЙКА(«адрес»){/post}{/quote}  

  извинте меня , может я неправильно выражаюсь , но мне нужна формула что бы в ячеке А1 отображался адрес активной ячейки.  Например если я выбрал С1 , то в А1 отображается С1 , если выбрал Е3 то в А1 отображается Е3 , и т.д.

 

dude

Пользователь

Сообщений: 1066
Регистрация: 22.12.2012

вам ее дали  
именно активную, а не выделенную  
и ссылку на файлообменник дали, где ее смотреть

 

Возникла аналогичная проблема, нашел на форуме эту тему.  

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

  Ссылка на файлообменник не работает, возможно, материал там уже удален.  

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

  Существует ли решение?

 

Вот она слабость формул :)

 

Я так и думал, что без макросов не получится…  

  Сделаю тогда шаг назад и расскажу, зачем мне это нужно.  

  Есть два диапазона на разных листах в одной книге.  
Некоторым ячейкам первого диапазона поставлены в соответствие ячейки второго.  
Соответствие динамическое: наличие во втором дипазоне нужной ячейки и ее адрес определяются в зависимости от значений.  

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

  Можно ли добиться нужного эффекта без макросов?

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#14

19.11.2010 09:56:40

{quote}{login=Beard}{date=19.11.2010 09:52}{thema=}{post}Я так и думал, что без макросов не получится…  

  Сделаю тогда шаг назад и расскажу, зачем мне это нужно.  

  Есть два диапазона на разных листах в одной книге.  
Некоторым ячейкам первого диапазона поставлены в соответствие ячейки второго.  
Соответствие динамическое: наличие во втором дипазоне нужной ячейки и ее адрес определяются в зависимости от значений.  

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

  Можно ли добиться нужного эффекта без макросов?{/post}{/quote}  
может Вам это надо  

  ого 55551

Прикрепленные файлы

  • post_176015.xls (25 КБ)

Спасибо

 

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

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#16

19.11.2010 10:34:56

{quote}{login=Beard}{date=19.11.2010 10:18}{thema=}{post}Прошу прощения за возможную бестолковость, но я не понимаю, как предложенный файл связан с моей задачей. Можно пояснить для непонятливых?{/post}{/quote}  
Возможность просмотра другого диапазона, без выбора конечно, но все же смотреть что то можно :)

Спасибо

 

Без выбора не годится.  

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

 

R Dmitry

Пользователь

Сообщений: 3103
Регистрация: 22.12.2012

Excel,MSSQL,Oracle,Qlik

#18

19.11.2010 11:56:21

{quote}{login=Beard}{date=19.11.2010 11:00}{thema=}{post}Без выбора не годится.  

  Диапазоны сравнительно большие, на экране не помещаются, поэтому простое размещение на том же листе (хоть во вставке, хоть в обычных ячейках) не помогает: чтобы посмотреть дополнительную информацию, придется делать скролл, а потом искать исходную позицию. Тогда уж проще сходить на соседний лист и посмотреть. Собственно, сейчас оно так и делается, но хочется реализовать более удобный способ.{/post}{/quote}  
для быстрого перехода из активной ячейки, используйте горячие клавиши ctrl + [
возможно это облегчит Ваши страдания :)  

  *14741*

Спасибо

 

{quote}{login=R Dmitry}{date=19.11.2010 11:56}{thema=Re: }{post}  
для быстрого перехода из активной ячейки, используйте горячие клавиши ctrl + [
возможно это облегчит Ваши страдания :)  
{/post}{/quote}  

  Не облегчит. У меня нет зависимости между ячейками ни в ту, ни в другую сторону.  
Значение активной ячейки (в сочетании с некоторыми другими данными) показывает, где можно посмотреть дополнительную информацию. При этом сами значения обеих ячеек — простые данные, без формул.

 

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

 

А где размещать эти гиперссылки?  

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

 

Может, Вид — Окно — Разделить?

 

в модуль листа  
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
Dim r1 As Range, r2 As Range  
Dim ws, adr, n  
ws = «2» ‘имя второго листа  
Set r1 = ActiveSheet.Range(«A1:E11») ‘первый диапазон  
Set r2 = Worksheets(ws).Range(«A1:A11») ‘второй диапазон  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Intersect(Target, r1) Is Nothing Then  
n = r2.Find(Target.Value, r2(r2.Rows.Count, 1), xlValues, xlWhole, xlByRows, xlNext).Row  
adr = Cells(n, Target.Column).Address(False, False, xlA1)  
ActiveSheet.Hyperlinks.Add Anchor:=Target, Address:=»», SubAddress:=»‘» & ws & «‘» & «!» & adr  
Target.Hyperlinks(1).Follow  
End If  
End Sub

 

Спасибо всем, кто пытается помочь.  
Пока ничего не помогло.  

  Разделять окно имело бы какой-то смысл, если бы можно было в каждой половине делать независимый скроллинг.  

  Решения с макросами не годятся по исходной постановке задачи: макросы запрещены.  

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

 

слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

ну не разделить, а расположить..

 

Решения с макросами не годятся по исходной постановке задачи: макросы запрещены.  
Кем?

 

можно использовать выпадающий список (проверка данных без остановки по ошибки)  
в проверке данных можно использовать вычисляемые формулы в том числе например  
=двссыл(«листоченьспрятанный!» & адресс(строка();столбец()))  

  но посмотреть можно будет только значение, а не формулу, и если пользователь всё таки выберет что-то из выпадающего списка — пощады содержимому ячейки не будет!

 

Beard

Гость

#28

19.11.2010 16:07:26

Таблицу будут заполнять люди с весьма низкой квалификацией.  
У большинства из них все настройки установлены по умолчанию, и менять их они не будут. Поэтому использовать макросы нельзя: у многих стоит максимальный уровень безопасности, они даже не получат предупреждения. А объяснять, как и что изменить в настройках, практически бесполезно.  

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

  А вот выпадающий список может оказаться интересным. Надо попробовать.

Как определить адрес активной ячейки.

Q: Как в макросе узнать и использовать текущее положение курсора (не мышиного, естественно)?

A:Очень просто! :-) ActiveCell.Row и ActiveCell.Column — покажут координаты активной ячейки.

[ Назад ]
[ Оглавление ]
[ Далее ]

Оставить комментарий

Комментарий:

можно использовать BB-коды

Максимальная длина комментария — 4000 символов.

 

Комментарии

1.

Мне нравитсяМне не нравится

17 апреля 2013, 22:49:22

Спасибо, освежило память))

2.

64K

28 сентября 2010 года

Vladlen70

0 / / 28.09.2010

Мне нравитсяМне не нравится

28 сентября 2010, 16:25:13

А не проще ли использовать — ActiveCell.Address или Activecell.AddressLocal?

При использовании Microsoft Excel вы можете легко получить местоположение текущей выбранной ячейки в поле имени, которое отображается слева от панели формул. Но если ячейке присвоено имя, вы не сможете проверить ее местоположение по отображению в поле имени. И если вы хотите напрямую показать полный адрес активной ячейки или отобразить адрес активной ячейки в указанной ячейке, что бы вы сделали? В этом руководстве мы покажем вам, как легко получить адрес активной ячейки с помощью формулы и методов VBA.

Получить адрес активной ячейки с помощью формулы
Получить адрес активной ячейки с кодом VBA
Отображать адрес активной ячейки в указанной ячейке с кодом VBA
Динамически отображать адрес активной ячейки с помощью замечательного инструмента

Объединение нескольких рабочих листов/книг в один рабочий лист/книгу:

Объединение нескольких рабочих листов или рабочих книг в один рабочий лист или книгу может оказаться огромной задачей в вашей повседневной работе. Но, если у вас есть Kutools for Excel , его мощная утилита – Combine может помочь вам быстро объединить несколько рабочих листов, книг в один рабочий лист или книгу. Загрузите полнофункциональную 60-дневную бесплатную версию Kutools for Excel прямо сейчас!

Kutools for Excel : с более чем 200 удобными надстройками Excel, бесплатно, без ограничений в течение 60 дней. Загрузите бесплатную пробную версию прямо сейчас!

Вкладка Office Включите редактирование и просмотр с вкладками в Office и сделайте вашу работу намного проще …

Подробнее … Скачать бесплатно …

Kutools for Excel Решает Большинство ваших проблем и увеличивает вашу продуктивность на 80%.

  • Повторное использование чего угодно: добавьте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное, и быстро использовать их в будущем.
  • Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
  • Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
  • Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
  • Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Подробнее … Бесплатная загрузка …

– ->


Содержание

  1. Получить адрес активной ячейки с формулой
  2. Получить адрес активной ячейки с кодом VBA
  3. Отображение адреса активной ячейки в указанной ячейке с кодом VBA
  4. Динамически отображать адрес активной ячейки с помощью замечательного инструмента

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

В этом разделе мы предоставим вам формулу легкого получения адреса активной ячейки.

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

2. Введите в нее приведенную ниже формулу и нажмите клавишу Enter .

Тогда вы увидите, что адрес текущей выбранной ячейки сразу отображается в ячейке.

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

Динамическое отображение адреса активной ячейки:

Расширенная панель редактирования из Kutools for Excel помогает динамически отображать адрес активной ячейки на листе в Excel. Кроме того, вы можете просматривать и редактировать выделенное содержимое ячеек прямо в окне, как показано в демонстрации ниже.
Загрузите и попробуйте прямо сейчас! (30-дневная бесплатная пробная версия)


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

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

1. Одновременно нажмите Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений .

2. В окне Microsoft Visual Basic для приложений дважды щелкните имя текущего рабочего листа на левой панели, чтобы открыть редактор кода, затем скопируйте и вставьте приведенный ниже код VBA в редактор кода.

Код VBA: получить адрес активной ячейки

3. Затем нажмите кнопку Выполнить , чтобы запустить код.

4. Затем появится диалоговое окно с адресом активной ячейки, указанной внутри.


Отображение адреса активной ячейки в указанной ячейке с кодом VBA

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

1. Откройте окно Microsoft Visual Basic для приложений , одновременно нажав Alt + F11 .

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

Код VBA: отображение адреса активной ячейки в указанной ячейке

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

3. Затем нажмите Файл > Закрыть и вернуться в Microsoft Excel , чтобы закрыть окно Microsoft Visual Basic для приложений .

Вы можете увидеть адрес активной ячейки, отображаемой в ячейке A1, и адрес изменится автоматически в зависимости от изменения активной ячейки. См. Снимок экрана:


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

Если вы хотите динамически отображать адрес активной ячейки на листе, я настоятельно рекомендую инструмент Расширенная панель редактирования Kutools for Excel . Давайте посмотрим, как этот инструмент может динамически отображать адрес активной ячейки на листе.

Перед применением Kutools for Excel , пожалуйста, загрузите и установите его во-первых .

1. Нажмите Kutools > Показать и скрыть > Расширенная панель редактирования , чтобы включить эту функцию.

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

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


Вкладка Office – просмотр, редактирование и управление книгами в Excel с вкладками:

Вкладка Office предоставляет интерфейс с вкладками, как в веб-браузерах, таких как Google Chrome, новые версии Internet Explorer и Firefox в Microsoft Excel. Он станет незаменимым помощником в работе и сэкономит время. См. Демонстрацию ниже:

Нажмите, чтобы получить бесплатную пробную версию вкладки Office!

->


Определение активных составляющих книги

Мне кажется, многие загонялись таким вопросом, как определить активную ячейку (на которой находится курсор), строку или столбец. Или же хотелось получить адрес в формате А1, В4 и т.д. Вот сегодня я и покажу, как это сделать, потому, что очень удобно, когда ты знаешь активные элементы книги.

Номер активной строки

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

       Sub Stroka()

           s = ActiveCell.Row

           MsgBox «Активная строка под номером » & s, vbInformation, «Активная строка»

       End Sub

Номер активного столбца и стороки

Аналогично определению строки столбец определяется по такому же принципу, только в конце добавляется не строка, а столбец:

       Sub Stroka()

           s = ActiveCell.Row

           b = ActiveCell.Column

           MsgBox «Активная строка под номером » & s & » » & _

vbNewLine & «Активный столбец под номером » & b, vbInformation, «адрес»

       End Sub

Определяем номер последней заполненной строки и столбца

Sub Last_Stroka_and_Stolbec()

‘ищем последнюю заполненную строку и столбец и выводим сообщение о номере

    Stroka = ActiveSheet.Cells.Find(What:=»*», SearchDirection:=xlPrevious, _

          SearchOrder:=xlByRows).Row

    Stolbec = ActiveSheet.Cells.Find(What:=»*», SearchDirection:=xlPrevious,         _SearchOrder:=xlByRows).Column

MsgBox «Последняя строка под номером » & Stroka & » » & _

           vbNewLine & «Последний столбец под номером » _

           & Stolbec, vbInformation, «Адрес»

End Sub

Определяем активную ячейку

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

      Sub yacheika()

          sk = ActiveCell.Row

          st = ActiveCell.Column

          MsgBox «Активная ячейка имеет координаты Cells(» & sk & «,» & st & «)», _

                  vbInformation, «Активная ячейка»

      End Sub

Адрес активной ячейки

Многие думали, а как получить адрес активной ячейки? Очень просто, делается это так:

      Sub adres()

          A = ActiveCell.Address

          MsgBox «Абсолютный адрес активной ячейки — » & A, vbInformation, «Адрес»

      End Sub

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

      Sub adress()

          A = ActiveCell.Address(0, 0)

          MsgBox «Относительный адрес активной ячейки — » & A, vbInformation, «Адрес»

      End Sub

В скобках оператора Address указано какое именно значение должно быть относительным, а какое абсолютным. Если Address(0,0), то и строка и столбец записаны относительными (первый ноль отвечает за строку, второй ноль — это столбец). Если в строке поставить вместо ноля еденицу, то строка будет абсолютным значением, а столбец относительным. Причём значения следующих записей равнозначны:

Address(1, 0) = Address(True, False)

Адрес выделенного диапазона ячеек

Адрес выделенного диапазона можно получить следующим образом

      Sub diapazon()

‘используйте любую переменную для определения адреса

          A = Selection.Rows.Address(0, 0)    ‘Через строку

          b = Selection.Columns.Address(0, 0) ‘Через столбец

          c = Selection.Address(0, 0)

          MsgBox «Выделенный диапазон — » & A, vbInformation, «Адрес»

      End Sub

Координаты выделенного диапазона

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

      Sub Kdiapazon()

          a = Selection.Row

          b = Selection.Column

          K1 = Cells(a, b).Address(0, 0)

          aa = a + Selection.Rows.Count — 1

          bb = b + Selection.Columns.Count — 1

          K2 = Cells(aa, bb).Address(0, 0)

          MsgBox «Первая координата выделенного диапазона — » & K1 & vbNewLine & _

          «Вторая координата выделенного диапазона — » & K2, vbInformation, «Координаты»

      End Sub

a — Определяет номер первой строки выделенного диапазона;
b — Определяет номер первого столбца выделенного диапазона;
K1 — Определяем первую координату выделенного диапазона;
aa — Определяем номер последней строки выделенного диапазона;
bb — Определяем номер пследнего столбца выделенного диапазона;
K2 — Определяем вторую координату выделенного диапазона;

Selection.Rows.Count — определяет количество строк в выделенном диапазоне;
Selection.Columns.Count — определяет количество столбцов в выделенном диапазоне;

У многих возник вопрос: А почему вычитаем единицу? Всё потому, что первая координата входит в выделенный диапазон и нам её надо не потерять.

Имя активной книги

Имя активной книги возможно вычислить такой записью:

      Sub WorkbookName()

          Name = ActiveWorkbook.Name

          MsgBox «Имя активной книги — » & Name, vbInformation, «Имя активной книги»

      End Sub

Имя активного листа

Имя активного листа можно определить так:

      Sub SheetsName()

          Name = ActiveSheet.Name

          MsgBox «Имя активного листа — » & Name, vbInformation, «Имя активного листа»

      End Sub

Понравилась статья? Поделить с друзьями:
  • Как найти пароль от аккаунта электронной почты
  • Грустные брови как исправить
  • Как в ворде найти красивые буквы
  • Как найти расстояние по гугл картам
  • Как исправить крем который расслоился