Vba excel текущий лист

Описание функции

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

Функция =ИМЯЛИСТА() не имеет аргументов. Она возвращает наименование листа в котором введена функция.

0 pheeper [2017-06-07 00:18:00]

Я пытаюсь создать Excel VSTO Addin с VS2015 для нескольких макросов VBA, которые у меня есть. Я мог бы сделать это с помощью VBA, но хочу, чтобы мои ноги были влажными в VB.NET. Проблема, с которой я столкнулась, заключается в том, как получить активный рабочий лист и присвоить его переменной. Затем мне нужно перейти в диапазон, который я преобразовал в предыдущий текст.

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

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

Здесь код, расположенный за кнопкой "Поиск и выделение", который должен сравнивать два диапазона и выделять дубликаты. Однако, когда я запускаю это, он выделяет ячейки в другой книге, предположительно первой, которую я открыл. Как я могу убедиться, что открываю текущую книгу, в которой я работаю?

Обращение к рабочим листам Excel из кода VBA. Переименование листов, скрытие и отображение с помощью кода VBA Excel. Свойства Worksheets.Name и Worksheets.Visible.

Обращение к рабочим листам

Рабочий лист (Worksheet) принадлежит коллекции всех рабочих листов (Worksheets) книги Excel. Обратиться к листу можно как к элементу коллекции и, напрямую, по его уникальному имени.

Читайте также:  Opera preinstall data что это за программа

Откройте редактор VBA и обратите внимание на вашу книгу в проводнике, где уникальные имена листов указаны без скобок, а в скобках — имена листов, отображаемые на ярлычках в открытой книге Excel. Уникальные имена листов отсортированы по алфавиту и их расположение по порядку не будет соответствовать их индексам (номерам), если листы перемещались по отношению друг к другу. Индексы листов смотрите по порядку расположения ярлычков в открытой книге. Переместили листы — изменились их индексы.

Обращение к рабочему листу в коде VBA Excel:

  • УникИмяЛиста — уникальное имя листа, отображаемое в проводнике редактора VBA без скобок, с помощью кода VBA изменить его невозможно.
  • N — индекс листа от 1 до количества всех листов в книге, соответствует порядковому номеру ярлычка этого листа в открытой книге Excel.
  • Имя листа — имя листа, отображаемое в проводнике редактора VBA в скобках, с помощью кода VBA изменить его можно.

Количество листов в рабочей книге Excel определяется так:

Переименование листов

В VBA Excel есть некоторые особенности в наименовании листов, так как у рабочего листа есть два свойства, связанных с именем: (Name) и Name. Откройте окно «Properties» в редакторе VBA, нажав клавишу «F4», и выделите любой лист в проводнике. Вы увидите, что в окне «Properties» свойству (Name) в скобках соответствует в проводнике уникальное имя листа без скобок, а свойству Name без скобок соответствует изменяемое имя листа в скобках. Оба имени в окне «Properties» можно редактировать.

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

Читайте также:  Asus download master не работает

expression.Name

где expression — переменная, представляющая собой объект Worksheet. Смена имени осуществляется путем присвоения нового значения свойству Worksheets.Name.

Допустим, у нас есть лист с уникальным именем (Name) — Лист1, индексом — 1 и именем Name — МойЛист, которое необходимо заменить на имя — Реестр.

Скрытие и отображение листов

Для скрытия и отображения рабочих листов в VBA Excel используется свойство Worksheet.Visible со следующим синтаксисом:

expression.Visible

где expression — переменная, представляющая собой объект Worksheet. Свойству Worksheet.Visible могут присваиваться следующие значения:

  • False — лист становится невидимым, но он будет присутствовать в списке скрытых листов, и пользователь сможет его отобразить с помощью инструментов рабочей книги Excel.
  • xlVeryHidden — лист становится супер невидимым и его не будет в списке скрытых листов, пользователь не сможет его отобразить. Актуально для Excel 2003-2016.
  • True — лист становится видимым.

Аналоги присваиваемых значений:

    False = xlH >Примеры:

Как создать, скопировать, переместить или удалить рабочий лист с помощью кода VBA Excel, смотрите в этой статье.

Rate this post

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

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