Vba Excel Как Получить Имя Листа Excel • Дополнительные сведения

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

Если у меня есть объект диапазона-например, предположим, что он ссылается на ячейку A1 на листе с именем Book1 . Поэтому я знаю, что вызов Address() даст мне простую местную справку: $A$1 . Я знаю, что его также можно назвать Address(External:=True) , чтобы получить ссылку, включающую имя рабочей книги и имя рабочего листа: [Book1]Sheet1!$A$1 .

Что я хочу, так это получить адрес, включающий название листа, но не название книги. Я действительно не хочу вызывать Address(External:=True) и пытаться самостоятельно вычеркнуть имя книги с помощью строковых функций. Есть ли какой-нибудь звонок, который я могу сделать по диапазону, чтобы получить Sheet1!$A$1 ?

11 ответов

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

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

Это решение позволяет Excel иметь дело с пробелами и другими забавными символами в названии листа, что является хорошим преимуществом по сравнению с предыдущими ответами.

возвращает ровно «Sheet1!$A$1», с объектом Range с именем rng , ссылающимся на ячейку A1 на листе Sheet1.

Это решение возвращает только адрес первой ячейки диапазона, а не адрес всего диапазона («Sheet1!$A$1» против «Sheet1!$A$1:$B$2»)., поэтому я использую его в пользовательской функции:

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

Я обнаружил, что следующее работает для меня в пользовательской функции, которую я создал. Я объединил ссылку на диапазон ячеек и имя рабочего листа в виде строки, а затем использовал в инструкции Evaluate (я использовал Evaluate в Sumproduct).

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

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

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

Почему бы просто не вернуть имя рабочего листа с адресом = cell.Worksheet.Name , тогда вы можете снова объединить адрес, как этот адрес = cell.Worksheet.Name & «!» & cell.Address

Если это не так, почему критерии .. избегают функций Str

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

As Мика отметил, что это работает только тогда, когда вы назвали этот
диапазон particular (следовательно, .Name кто-нибудь?) Да, упс!

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

Это должно вернуть полный адрес, что-то вроде «=Sheet1!$A$1».

Предполагая, что вам не нужен знак равенства, вы можете удалить его с помощью функции замены:

Похожие вопросы:

Как я могу проверить имя рабочего листа или книги, внутри которой выполняется макрос VBA? Для использования в качестве условного оператора (если workbook/worksheet name = , то . ).

Когда я использую excel для открытия файла .txt (файла Блокнота), имя рабочего листа-это имя файла Блокнота, открытого по умолчанию. Таким образом, имя листа будет отличаться при открытии другого.

Я использую Excel Interop для создания файла excel и вывода в него данных, и я хочу изменить имя рабочего листа на основе выбора пользователя из comboBox. Однако я не могу получить входные данные от.

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

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

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

Теперь у меня есть немного кода, который предлагает пользователю выбрать диапазон (1 область, 1 столбец, несколько строк). Это код, в котором он предлагает пользователю сделать это: MsgBox Select a.

[expert_bq id=»1570″]Как показала практика, если этот макрос не работает — не пересчитывает ячейки или пишет нечто вроде знач , то у Вас обнаружена циклическая ссылка и Excel не хочет пересчитывать значения. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] При выполнении тех или иных действий Excel может запрашивать подтверждения. Например при удалении листа, закрытии файла с несохраненными данными и (!) при проведении операции для которой Excel’y нехватает памяти для Undo. Для подавления этих сообщений используйте Application.DisplayAlerts: Любопытный ход- можно сказать Excel что файл якобы сохранен и тогда он не станет возражать против его закрытия. Назначение макро на горячую клавишу
Скриншот 3

Создание и именование рабочего листа в Excel VBA — CodeRoad

  1. Откройте рабочую книгу Excel
  2. Нажмите Alt + F11, чтобы открыть редактор VBA.
  3. Вставьте новый модуль из меню «Вставка»
  4. Создайте приведенный выше код и вставьте в окно кода
  5. Нажмите F5, чтобы увидеть выход
  6. Вы должны увидеть недавно открытую книгу, как показано выше.
  7. Сохраните файл в виде макросъемки

Вы также можете использовать описанную выше технику для листов, которые даже не являются активными. Например, если я сейчас нахожусь на Sheet1 и хочу удалить Shee3, я могу просто щелкнуть правой кнопкой мыши Sheet3 и удалить его.

Программирование MS Excel: Вопросы по программированию в VBA
Ваша программа может бросить XLS файл в директорию автозагрузки Excel (там где живут разные personal.xls). А этот файл уже может сделать все что хочешь, например установить дополнение средствами VBA и подтереть себя . Хитро? Как вставить свое изображение для кнопки в toolbar
[expert_bq id=»1570″]Если вы игнорируете ошибки и пытаетесь назвать лист так же, как существующий лист, или имя с недопустимыми символами, это может быть просто пропуск этой строки. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Затем выберите место, где вставить кнопку, и нажмите туда. После этого появится окно назначения действия, т.е. нужно выбрать, какой макрос запускать при нажатии этой кнопки, выбираем наш макрос, т.е. SaveFile, и нажимаем «ОК».

Как на VBA сохранить файл Excel с названием, взятым из ячейки? | — IT-блог для начинающих

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

[expert_bq id=»1570″]Тип сведений обязательный аргумент текстовое значение, задающее тип сведений о ячейке например, адрес, столбец, цвет, имяфайла, формат, скобки и т. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] У каждого листа есть название. В одной книге Excel может быть 256 листов. Как использовать имя листа в Excel, чтобы упростить расчеты для множества листов? Например, вам нужно собрать сумму определенного столбца формулой со всех листов, как использовать имя листа в Excel для сбора данных? Ниже предлагаю описание этой возможности табличного редактора.

Вставка только текущего имени файла

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: