Как обратится по порядковому номеру листа |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Обращение к рабочим листам Excel из кода VBA. Переименование листов, скрытие и отображение с помощью кода VBA Excel. Свойства Worksheets.Name и Worksheets.Visible.
Обращение к рабочим листам
Рабочий лист (Worksheet) принадлежит коллекции всех рабочих листов (Worksheets) книги Excel. Обратиться к листу можно как к элементу коллекции и, напрямую, по его уникальному имени.
Откройте редактор VBA и обратите внимание на вашу книгу в проводнике, где уникальные имена листов указаны без скобок, а в скобках — имена листов, отображаемые на ярлычках в открытой книге Excel. Уникальные имена листов отсортированы по алфавиту и их расположение по порядку не будет соответствовать их индексам (номерам), если листы перемещались по отношению друг к другу. Индексы листов смотрите по порядку расположения ярлычков в открытой книге. Переместили листы — изменились их индексы.
Обращение к рабочему листу в коде VBA Excel:
‘По уникальному имени УникИмяЛиста ‘По индексу Worksheets(N) ‘По имени листа на ярлычке Worksheets(«Имя листа») |
- УникИмяЛиста — уникальное имя листа, отображаемое в проводнике редактора VBA без скобок, с помощью кода VBA изменить его невозможно.
- N — индекс листа от 1 до количества всех листов в книге, соответствует порядковому номеру ярлычка этого листа в открытой книге Excel.
- Имя листа — имя листа, отображаемое в проводнике редактора VBA в скобках, с помощью кода VBA изменить его можно.
Количество листов в рабочей книге Excel определяется так:
‘В активной книге Worksheets.Count ‘В любой открытой книге, ‘например, в «Книга1.xlsm» Workbooks(«Книга1.xlsm»).Worksheets.Count |
Переименование листов
В VBA Excel есть некоторые особенности в наименовании листов, так как у рабочего листа есть два свойства, связанных с именем: (Name) и Name. Откройте окно «Properties» в редакторе VBA, нажав клавишу «F4», и выделите любой лист в проводнике. Вы увидите, что в окне «Properties» свойству (Name) в скобках соответствует в проводнике уникальное имя листа без скобок, а свойству Name без скобок соответствует изменяемое имя листа в скобках. Оба имени в окне «Properties» можно редактировать.
С помощью кода VBA Excel можно редактировать только имя листа Name, отображаемое на ярлычке листа и в проводнике без скобок. Для этого используется свойство рабочего листа Worksheets.Name со следующим синтаксисом:
expression.Name
где expression — переменная, представляющая собой объект Worksheet. Смена имени осуществляется путем присвоения нового значения свойству Worksheets.Name.
Допустим, у нас есть лист с уникальным именем (Name) — Лист1, индексом — 1 и именем Name — МойЛист, которое необходимо заменить на имя — Реестр.
Лист1.Name = «Реестр» Worksheets(1).Name = «Реестр» Worksheets(«МойЛист»).Name = «Реестр» |
Скрытие и отображение листов
Для скрытия и отображения рабочих листов в VBA Excel используется свойство Worksheet.Visible со следующим синтаксисом:
expression.Visible
где expression — переменная, представляющая собой объект Worksheet. Свойству Worksheet.Visible могут присваиваться следующие значения:
- False — лист становится невидимым, но он будет присутствовать в списке скрытых листов, и пользователь сможет его отобразить с помощью инструментов рабочей книги Excel.
- xlVeryHidden — лист становится супер невидимым и его не будет в списке скрытых листов, пользователь не сможет его отобразить. Актуально для Excel 2003-2016.
- True — лист становится видимым.
Аналоги присваиваемых значений:
- False = xlHidden = xlSheetHidden = 1
- xlVeryHidden = xlSheetVeryHidden = 2
- True = xlSheetVisible = -1 (константа xlVisible вызывает ошибку)
Примеры:
Лист1.Visible = xlSheetHidden Лист2.Visible = —1 Worksheets(Worksheets.Count).Visible = xlVeryHidden Worksheets(«МойЛист»).Visible = True |
Как создать, скопировать, переместить или удалить рабочий лист с помощью кода VBA Excel, смотрите в этой статье.
Содержание
- VBA Excel. Рабочий лист (обращение, переименование, скрытие)
- Обращение к рабочим листам
- Переименование листов
- Скрытие и отображение листов
- Excel Как Обратиться к Листу по Индексу • Ввод данных
- Чтение и запись данных в Excel файл из PowerShell | Windows для системных администраторов
- Ввод данных
- Автозамена
- Прогрессия
- Протягивание
- Полезные приемы при работе с Excel из 1С (Версия 3.1)
- Как получить данные из Active Directory и сохранить их в книге Excel?
- Работа с файлами Excel.
- Как обратиться к листу excel по его номеру
- Как ссылаться на рабочий лист по номеру индекса вместо имени в Excel?
- Как сослаться на другой лист или книгу в Excel (с примерами)
- Ссылка на ячейку на том же листе
- Ссылка на ячейку на другом листе
- Автоматическое создание ссылки на другой лист в той же книге
- Как сослаться на другую книгу в Excel
- Внешняя ссылка на открытую книгу
- Как создать ссылку на другую книгу (автоматически)
- Внешняя ссылка на закрытую книгу
- Влияние изменения расположения файла на ссылки
- Ссылка на определенное имя (в той же или внешней книге)
- Ссылка на определенное имя на том же листе или в книге
- Ссылка на определенное имя в другой книге (открытой или закрытой)
- Как создать ссылку на именованный диапазон
VBA Excel. Рабочий лист (обращение, переименование, скрытие)
Обращение к рабочим листам Excel из кода VBA. Переименование листов, скрытие и отображение с помощью кода VBA Excel. Свойства Worksheets.Name и Worksheets.Visible.
Обращение к рабочим листам
Рабочий лист (Worksheet) принадлежит коллекции всех рабочих листов (Worksheets) книги Excel. Обратиться к листу можно как к элементу коллекции и, напрямую, по его уникальному имени.
Откройте редактор 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 со следующим синтаксисом:
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 = xlHidden = xlSheetHidden = 1
- xlVeryHidden = xlSheetVeryHidden = 2
- True = xlSheetVisible = -1 (константа xlVisible вызывает ошибку)
Источник
Excel Как Обратиться к Листу по Индексу • Ввод данных
Перейдем на лист «Прайс-лист». Посмотрим, что мы здесь имеем. Стоимость первого товара в рублях — доски для сноуборда «Balance» — находится в ячейке «D6». Запомним это.
Переходим на наш лист. Отмечаем ячейку, где должна располагаться цена доски «Balance» в рублях. В данном случае это ячейка «Е2». В строке формул пишем следующее выражение: «=’Прайс-лист’!D6». В апострофах (‘…’) пишем название листа в документе, откуда мы собираемся брать данные. После восклицательного знака идет название ячейки. Ничего сложного.
Отлично! Именно этот результат мы и хотели получить. Теперь нам необходимо только изменять курс у.е. в прайс-листе, а цены в накладной будут изменяться автоматически.
Аналогично вносим формулы вычисления во все остальные ячейки.
Теперь начинаем вычислять сумму купленного товара в каждой строке. Для этого необходимо цену умножить на количество. Правильно?
При копировании содержимого ячеек, может потребоваться вставить только значения — не ссылается формула, который можно просмотреть в строка формул.
Можно избежать этой ошибки путем вставки только результат формулы в целевой ячейке.
На листе выделите ячейки, содержащие результатом формулы, который нужно скопировать.
На вкладке Главная в группе буфер обмена нажмите кнопку Копировать или нажмите сочетание клавиш CTRL + C.
Совет: Чтобы переместить или скопировать выделенный фрагмент на другой лист или в другую книгу, щелкните ярлычок другого листа или выберите другую книгу и выделите левую верхнюю ячейку области вставки.
На вкладке Главная в группе буфер обмена нажмите кнопку Вставить и нажмите кнопку Вставить значения. Или нажмите Сочетание клавиш Ctrl + Alt + V , чтобы отобразить диалоговое окно Специальная вставка.
На всех предыдущих уроках формулы и функции ссылались в пределах одного листа. Сейчас немного расширим возможности их ссылок.
Excel позволяет делать ссылки в формулах и функциях на другие листы и даже книги. Можно сделать ссылку на данные отдельного файла. Кстати в такой способ можно восстановить данные из поврежденного файла xls.
Чтение и запись данных в Excel файл из PowerShell | Windows для системных администраторов
- Путь к файлу книги (после знака = открывается апостроф).
- Имя файла книги (имя файла взято в квадратные скобки).
- Имя листа этой книги (после имени закрывается апостроф).
- Знак восклицания.
- Ссылка на ячейку или диапазон ячеек.
Полезный совет . Если файл книги поврежден, а нужно достать из него данные, можно вручную прописать путь к ячейкам относительными ссылками и скопировать их на весь лист новой книги. В 90% случаях это работает.
Ввод данных
Теперь давайте рассмотрим несколько инструментов для быстрого ввода данных.
Автозамена
Если вам часто нужно вводить какое-то словосочетание, адрес, емейл и так далее — придумайте для него короткое обозначение и добавьте в список автозамены в Параметрах:
Прогрессия
Если нужно заполнить столбец или строку последовательностью чисел или дат, введите в ячейку первое значение и затем воспользуйтесь этим инструментом:
Протягивание
Представьте, что вам нужно извлечь какие-то данные из целого столбца или переписать их в другом виде (например, фамилию с инициалами вместо полных ФИО). Задайте Excel одну ячейку с образцом — что хотите получить:
Выделите все ячейки, которые хотите заполнить по образцу, — и нажмите Ctrl+E. И магия случится (ну, в большинстве случаев).
Полезные приемы при работе с Excel из 1С (Версия 3.1)
- Текст вместо чисел
- Отрицательные числа там, где их быть не может
- Числа с дробной частью там, где должны быть целые
- Текст вместо даты
- Разные варианты написания одного и того же значения. Например, сокращения («ЭБ» вместо «Электронная библиотека»), лишние пробелы в конце текстового значения или между словами — всего этого достаточно, чтобы превратить текстовые значения в разные и, соответственно, чтобы они обрабатывались Excel некорректно.
Без функций и формул Excel был бы одной большой таблицей предназначенной для ручного заполнения данными. Благодаря функциям и формулам он является мощным вычислительным инструментом. А полученные результаты, динамически представляет в желаемом виде (если нужно даже в графическом).
Как получить данные из Active Directory и сохранить их в книге Excel?
Рассмотрим практический пример использования доступа к данным Excel из PowerShell. Например, нам нужно для каждого пользователя в Excel файле получить информацию из Active Directory. Например, его телефон (атрибут telephoneNumber), отдел (department) и email адрес (mail).
Для получения информации об атрибутах пользователя в AD мы будем использовать командлет Get-ADUser из модуля AD PowerShell.
В результате в Excel файле для каждого пользователя были добавлены столбцы с информацией из AD.
На сайте есть статья, в которой показывается как получить данные из AD из vba макроса Excel. На мой взгляд метод с обращением к AD из Excel намного проще и гибче.
Рассмотрим еще один пример построения отчета с помощью PowerShell и Excel. Допустим, вам нужно построить Excel отчет о состоянии службы Print Spooler на всех серверах домена.
Для получения списка серверов в AD используется командлет Get-ADComputer, а для удаленной проверки статуса службы на серверах командлет WinRM Invoke-Command.
Область применения возможностей доступа из PowerShell в Excel очень широка. Начиная от простого построения отчетов, например, из Active Directory, и заканчивая возможностью создания PowerShell скриптов для актуализации данных в AD из Excel.
Работа с файлами Excel.
- Уровень приложения (Application Layer) – запущенное приложение Excel;
- Уровень книги (WorkBook Layer) – одновременно могут быть открыты несколько книг (документов Excel);
- Уровень листа (WorkSheet Layer) – в каждом xlsx файле может быть несколько листов;
- Ячейки (Range Layer) – здесь можно получить доступ к данным в конкретной ячейке или диапазонe ячеек.
Предположим, что лист, который вы пытаетесь скопировать, и книга, в которую нужно скопировать файл, содержат именованный диапазон с именем интерестратес, Excel обнаружит этот конфликт и отобразит следующее сообщение:
Источник
Как обратиться к листу excel по его номеру
Как ссылаться на рабочий лист по номеру индекса вместо имени в Excel?
Многие пользователи Excel обычно переименовывают имя рабочего листа по умолчанию в нужное. Но во многих случаях им нужно ссылаться на рабочий лист на основе его порядкового номера, а не настоящего имени. Как этого добиться? Вы можете попробовать метод в статье.
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Чтобы ссылаться на рабочий лист по порядковому номеру, а не по имени в Excel, сделайте следующее.
1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в окно модуля.
Код VBA: справочный лист по номеру индекса в Excel
3. нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.
Заметки:
1. Если вам нужно указать имя определенного листа с его номером, выберите пустую ячейку и введите формулу. = ИМЯ ЛИСТА (1) прямо в панель формул, затем нажмите клавишу Enter. Смотрите скриншот:
2. Если вы хотите получить значение ячейки из рабочего листа на основе его порядкового номера, используйте эту формулу.
=INDIRECT(«‘»&SHEETNAME(1) &»‘!A1»)
3. И если вы хотите суммировать определенный столбец на листе на основе его порядкового номера, примените эту формулу.
=SUM(INDIRECT(«‘»&SHEETNAME(1) &»‘!C2:C7»))
Источник
Как сослаться на другой лист или книгу в Excel (с примерами)
Возможность ссылаться на ячейки и диапазоны — вот что заставляет работать любой инструмент для работы с электронными таблицами. И Excel — лучший и самый мощный из существующих.
В этом руководстве я расскажу все, что вам нужно знать о том, как ссылаться на ячейки и диапазоны в Excel. Помимо основных ссылок на том же листе, основная часть этого руководства будет посвящена как сослаться на другой лист или книгу в Excel.
Хотя нет большой разницы в том, как это работает, когда вы ссылаетесь на другой лист в том же файле или ссылаетесь на совершенно отдельный файл Excel, формат этой ссылки немного меняется.
Кроме того, при обращении к другому листу или другим внешним файлам следует помнить о некоторых важных моментах.
Но волнуйтесь … ничего сумасшедшего!
К тому времени, когда вы закончите изучение этого руководства, вы будете знать все, что нужно знать о ссылках на ячейки и диапазоны в Excel (находиться в той же или другой книге).
Ссылка на ячейку на том же листе
Это самый базовый уровень ссылки, когда вы ссылаетесь на ячейку на том же листе.
Например, если я нахожусь в ячейке B1 и хочу сослаться на ячейку A1, формат будет следующим:
Когда вы это сделаете, значение в ячейке, в которой вы используете эту ссылку, будет таким же, как и в ячейке A1. И если вы внесете какие-либо изменения в ячейку A1, они будут отражены в ячейке, в которой вы использовали эту ссылку.
Ссылка на ячейку на другом листе
Если вам нужно сослаться на другой лист в той же книге, вам необходимо использовать следующий формат:
Во-первых, у вас есть имя листа, за которым следует восклицательный знак, за которым следует ссылка на ячейку.
Поэтому, если вам нужно обратиться к ячейке A1 на листе 1, вам нужно использовать следующую ссылку:
А если вы хотите сослаться на диапазон ячеек на другом листе, вам нужно использовать следующий формат:
Итак, если вы хотите сослаться на диапазон A1: C10 на другом листе в той же книге, вам необходимо использовать приведенную ниже ссылку:
Обратите внимание, что я показал вам только ссылку на ячейку или диапазон. На самом деле вы бы использовали их в формулах. Но формат упомянутых выше ссылок останется прежним.
Во многих случаях в названии листа, на который вы ссылаетесь, может быть несколько слов. Например, это могло быть Данные проекта или данные о продажах.
Если у вас есть пробелы или небуквенные символы (например, @. #, — и т. Д.), Вам нужно использовать имя в одинарных кавычках.
Например, если вы хотите сослаться на ячейку A1 на листе с названием «Данные о продажах», воспользуйтесь следующей ссылкой:
И в случае, если имя листа — Данные продаж, то для ссылки на ячейку A1 на этом листе вам необходимо использовать приведенную ниже ссылку:
Когда вы ссылаетесь на лист в той же книге, а затем меняете имя рабочего листа, вам не нужно беспокоиться о том, что ссылка сломается. Excel автоматически обновит эти ссылки для вас.
Хотя хорошо знать формат этих ссылок, на практике не стоит каждый раз вводить их вручную. Это займет много времени и может привести к ошибкам.
Позвольте мне показать вам лучший способ создания ссылок на ячейки в Excel.
Автоматическое создание ссылки на другой лист в той же книге
Намного лучший способ создать ссылку на ячейку на другой лист — просто указать Excel на ячейку / диапазон, на который вы хотите создать ссылку, и позволить Excel создать ее сам.
Это гарантирует, что вам не придется беспокоиться об отсутствии восклицательного знака или кавычек или о любых других проблемах с форматированием. Excel автоматически создаст для вас правильный справочник.
Ниже приведены шаги по автоматическому созданию ссылки на другой лист:
- Выберите ячейку в текущей книге, где вам нужна ссылка
- Введите формулу, пока вам не понадобится ссылка (или знак равенства, если вам просто нужна ссылка)
- Выберите лист, на который нужно сослаться
- Выберите ячейку / диапазон, на который вы хотите сослаться
- Нажмите Enter, чтобы получить результат формулы (или продолжайте работать с формулой)
Вышеупомянутые шаги автоматически создадут ссылку на ячейку / диапазон на другом листе. Вы также сможете увидеть эти ссылки в строке формул. Как только вы закончите, вы можете просто нажать клавишу ввода, и вы получите результат.
Например, если у вас есть данные в ячейке A1: A10 на листе с именем «Данные продаж», и вы хотите получить сумму этих значений на текущем листе, выполните следующие действия:
- Введите следующую формулу в текущем листе (где вам нужен результат): = Sum (
- Выберите лист «Данные о продажах».
- Выберите диапазон, который вы хотите добавить (A1: A10). Как только вы это сделаете, Excel автоматически создаст ссылку на этот диапазон (вы можете увидеть это в строке формул).
- Нажмите клавишу ввода.
Когда вы создаете длинную формулу, вам может потребоваться сослаться на ячейку или диапазон на другом листе, а затем вернуться к исходному листу и сослаться на некоторую ячейку / диапазон там.
Когда вы это сделаете, вы заметите, что Excel автоматически вставляет ссылку на лист, на котором у вас есть формула. Хотя это нормально и не вредит, но в этом нет необходимости. В таком случае вы можете сохранить ссылку или удалить ее вручную.
Еще одна вещь, которую вам нужно знать при создании ссылок путем выбора листа, а затем ячейки / диапазона, заключается в том, что Excel всегда будет создавать относительная ссылка (т.е. ссылки со знаком n0 $). Это означает, что если я скопирую и вставлю формулу (одну со ссылкой на другой лист) в какую-либо другую ячейку, она автоматически откорректирует ссылку.
Вот пример, объясняющий относительные ссылки.
Предположим, я использую следующую формулу в ячейке A1 текущего листа (для ссылки на ячейку A1 в имени листа SalesData)
Теперь, если я скопирую эту формулу и вставлю ее в ячейку A2, формула изменится на:
Это происходит потому, что формула является относительной, и когда я ее копирую и вставляю, ссылки автоматически корректируются.
Если я хочу, чтобы эта ссылка всегда ссылалась на ячейку A1 на листе SalesData, мне придется использовать следующую формулу:
Знак доллара перед номером строки и столбца блокирует эти ссылки, чтобы они не менялись.
Вот подробное руководство, в котором вы можете узнать больше об абсолютных, смешанных и относительных ссылках.
Теперь, когда мы рассмотрели, как ссылаться на другой лист в той же книге, давайте посмотрим, как мы можем ссылаться на другую книгу.
Как сослаться на другую книгу в Excel
Когда вы ссылаетесь на ячейку или диапазон другой книги Excel, формат этой ссылки будет зависеть от того, открыта эта книга или закрыта.
И, конечно же, имя книги и рабочие листы также играют роль в определении формата (в зависимости от того, есть ли у вас в имени пробелы или небуквенные символы).
Итак, давайте посмотрим на различные форматы внешних ссылок на другую книгу в разных сценариях.
Внешняя ссылка на открытую книгу
Когда дело доходит до ссылки на внешнюю открытую книгу, вам необходимо указать имя книги, имя рабочего листа и адрес ячейки / диапазона.
Ниже приведен формат, который необходимо использовать при обращении к внешней открытой книге.
Предположим, у вас есть книга «ExampleFile.xlsx», и вы хотите сослаться на ячейку A1 в Sheet1 этой книги.
Ниже приведена ссылка на это:
Если в имени внешней книги или имени листа (или обоих) есть пробелы, вам нужно добавить имя файла (в квадратных скобках) и имя листа в одинарные кавычки.
Ниже приведены примеры, в которых имена должны быть заключены в одинарные кавычки:
Как создать ссылку на другую книгу (автоматически)
Опять же, хотя формат хорошо знать, лучше не вводить его вручную.
Вместо этого просто укажите Excel в правильном направлении, и он создаст для вас эти ссылки. Это намного быстрее и меньше шансов на ошибку.
Например, если у вас есть данные в ячейке A1: A10 в книге с именем «Файл примера» на листе с именем «Данные о продажах», и вы хотите получить сумму этих значений на текущем листе, выполните следующие действия. :
- Введите следующую формулу в текущем листе (где вам нужен результат): = Sum (
- Перейдите в книгу «Файл примера».
- Выберите лист «Данные о продажах».
- Выберите диапазон, который вы хотите добавить (A1: A10). Как только вы это сделаете, Excel автоматически создаст ссылку на этот диапазон (вы можете увидеть это в строке формул).
- Нажмите клавишу ввода.
Это мгновенно создаст формулу с правильными ссылками.
Одна вещь, которую вы заметите при создании ссылки на внешнюю книгу, — это то, что она всегда будет создавать абсолютные ссылки. Это означает, что перед номерами строк и столбцов стоит знак $. Это означает, что если вы скопируете и вставите эту формулу в другие ячейки, она будет продолжать ссылаться на тот же диапазон из-за абсолютной ссылки.
Если вы хотите это изменить, вам нужно изменить ссылки вручную.
Внешняя ссылка на закрытую книгу
Когда открыта внешняя книга и вы обращаетесь к ней, вам просто нужно указать имя файла, имя листа и адрес ячейки / диапазона.
Но когда он закрыт, Excel не знает, где искать ячейки / диапазон, на которые вы ссылались.
Вот почему, когда вы создаете ссылку на закрытую книгу, вам также необходимо указать путь к файлу.
Ниже приведена ссылка на ячейку A1 на листе Sheet1 в книге Example File. Поскольку этот файл не открыт, он также относится к месту, где файл сохранен.
Приведенная выше ссылка состоит из следующих частей:
- Путь к файлу — место в вашей системе или сети, где находится внешний файл.
- Имя файла — имя внешней книги. Это также будет включать расширение файла.
- Имя листа — имя листа, в котором вы ссылаетесь на ячейки / диапазоны.
- Адрес ячейки / диапазона — точный адрес ячейки / диапазона, на который вы ссылаетесь.
Когда вы создаете внешнюю ссылку на открытую книгу, а затем закрываете ее, вы заметите, что ссылка автоматически изменяется. После закрытия внешней книги Excel автоматически вставляет ссылку на путь к файлу.
Влияние изменения расположения файла на ссылки
Когда вы создаете ссылку на ячейку / диапазон во внешнем файле Excel и затем закрываете его, ссылка теперь также использует путь к файлу.
Но затем, если вы измените расположение файла, в вашей книге (в которой вы создаете ссылку) ничего не изменится. Но поскольку вы изменили местоположение, ссылка теперь не работает.
Поэтому, если вы закроете и откроете эту книгу, она сообщит вам, что ссылка не работает, и вам нужно либо обновить ссылку, либо полностью разорвать ее. Он покажет вам подсказку, как показано ниже:
Когда вы нажмете «Обновить», отобразится еще одно приглашение, в котором вы можете выбрать параметры для редактирования ссылок (при этом появится диалоговое окно, показанное ниже).
Если вам нужно сохранить эти файлы связанными, вы можете указать новое местоположение файла, нажав «Обновить значения». Excel открывает для вас диалоговое окно, в котором вы можете указать новое расположение файла, перейдя туда и выбрав его.
Ссылка на определенное имя (в той же или внешней книге)
Когда вам нужно ссылаться на ячейки и диапазоны, лучший способ — создать определенные имена для диапазонов.
Это полезно, поскольку позволяет легко ссылаться на эти диапазоны, используя имя вместо длинного и сложного ссылочного адреса.
Например, проще использовать = SalesData вместо = [Example File.xlsx] Sheet1 ′! $ A $ 1: $ A $ 10.
И в случае, если вы использовали это определенное имя в нескольких формулах, и вам нужно изменить ссылку, вам нужно сделать это только один раз.
Вот шаги, чтобы создать именованный диапазон для диапазона ячеек:
- Выберите все ячейки, которые вы хотите включить в именованный диапазон.
- Перейдите на вкладку «Формулы».
- Нажмите на опцию Define Name (она находится в группе Defined Names)
- В диалоговом окне «Новое имя» дайте этому диапазону имя (в этом примере я использую имя SalesData). Помните, что в названии не должно быть пробелов
- Сохраните область действия как рабочую книгу (если у вас нет веских причин сделать ее на уровне листа)
- Убедитесь, что ссылка на диапазон верна.
- Щелкните ОК.
Теперь ваш именованный диапазон создан, и вы можете использовать его вместо ссылок на ячейки с адресами ячеек.
Например, если я хочу получить сумму всех этих ячеек в диапазоне SalesData, вы можете использовать следующую формулу:
А что, если вы хотите использовать этот именованный диапазон в других листах или даже в других книгах?
Вам просто нужно следовать тому же формату, который мы обсуждали в предыдущем разделе.
Нет необходимости возвращаться к началу этой статьи. Позвольте мне привести вам все примеры здесь, чтобы вы поняли идею.
Именованные диапазоны уровня рабочей книги и рабочего листа: Когда вы создаете именованный диапазон на уровне книги, может быть только один диапазон с таким именем. Поэтому, если вы ссылаетесь на него из внешних книг или листов в той же книге, вам не нужно указывать имя рабочего листа (поскольку оно доступно для использования во всей книге). Если вы используете именованный диапазон уровня рабочего листа, вы сможете использовать его только на рабочем листе, и при обращении к нему вам также нужно будет указать имя рабочего листа.
Ссылка на определенное имя на том же листе или в книге
Если вы создали определенное имя для уровня книги, вы можете использовать его в любом месте книги, просто используя само определенное имя.
Например, если я хочу получить сумму всех ячеек в созданном нами именованном диапазоне (SaledData), я могу использовать следующую формулу:
Если вы создали именованный диапазон на уровне листа, вы можете использовать эту формулу, только если именованный диапазон создан на том же листе, где вы используете формулу.
Если вы хотите использовать его на другом листе (скажем, Sheet2), вам нужно использовать следующую формулу:
А если в имени листа есть пробелы или буквенно-цифровые символы, вам придется заключить имя листа в одинарные кавычки.
Ссылка на определенное имя в другой книге (открытой или закрытой)
Если вы хотите сослаться на именованный диапазон в другой книге, вам нужно будет указать имя книги, а затем имя диапазона.
Например, если у вас есть книга Excel с именем ExampleFile.xlsx и именованный диапазон с именем SalesData, вы можете использовать приведенную ниже формулу, чтобы получить сумму этого диапазона из другой книги:
Если в имени файла есть пробелы, их нужно заключить в одинарные кавычки.
Если у вас есть именованные диапазоны на уровне листа, вам необходимо указать имя книги, а также рабочий лист при ссылке на него из внешней книги.
Ниже приведен пример ссылки на именованный диапазон на уровне листа:
Как я уже упоминал выше, всегда лучше создавать именованные диапазоны на уровне книги, если только у вас нет веских причин для создания первого уровня таблицы.
Если вы ссылаетесь на именованный диапазон в закрытой книге, вам также необходимо указать путь к файлу. Ниже приведен пример этого:
Когда вы создаете ссылку на именованный диапазон в открытой книге, а затем закрываете книгу, Excel автоматически изменяет ссылку и добавляет путь к файлу.
Как создать ссылку на именованный диапазон
Если вы создаете и работаете с большим количеством именованных диапазонов, невозможно запомнить имя каждого из них.
Excel помогает вам, показывая вам список всех именованных диапазонов, которые вы создали, и позволяет вставлять их в формулы одним щелчком мыши.
Предположим, вы создали именованный диапазон SalesData, который хотите использовать в формуле для СУММИРОВАНИЯ всех значений в именованном диапазоне.
Вот как это сделать:
- Выберите ячейку, в которую вы хотите ввести формулу.
- Введите формулу до точки, в которую нужно вставить именованный диапазон.
- Нажмите клавишу F3 на клавиатуре. Откроется диалоговое окно «Вставить имя» со списком всех созданных вами имен.
- Дважды щелкните имя, которое хотите вставить.
Приведенные выше шаги вставят имя в формулу, и вы сможете продолжить работу с формулой.
Примечание. Этот метод работает только для диапазонов имен в одной книге. Если вы хотите получить имена во внешней книге, вам нужно будет пойти туда, проверить имя с помощью диалогового окна «Вставить имя», а затем вернуться и использовать его в своей формуле (в правильном формате с использованием имени файла).
Это все, что вам нужно знать о том, как ссылаться на другие листы или книги и как создать внешнюю ссылку в Excel.
Источник
Функция ЛИСТ в Excel возвращает числовое значение, соответствующее номеру листа, на который указывает ссылка, переданная функции в качестве параметра.
Функции ЛИСТ и ЛИСТЫ в Excel: описание аргументов и синтаксиса
Функция ЛИСТЫ в Excel возвращает числовое значение, которое соответствует количеству листов, на которые предоставлена ссылка.
Примечания:
- Обе функции полезны для использования в документах, содержащих большое количество листов.
- Лист в Excel – это таблица из всех ячеек, отображаемых на экране и находящихся за его пределами (всего 1 048 576 строк и 16 384 столбца). При отправке листа на печать он может быть разбит на несколько страниц. Поэтому нельзя путать термины «лист» и «страница».
- Количество листов в книге ограничено лишь объемом ОЗУ ПК.
Функция ЛИСТ имеет в своем синтаксисе всего 1 аргумент и то не обязательный для заполнения: =ЛИСТ(значение).
- значение – необязательный аргумент функции, который содержит текстовые данные с названием листа либо ссылку, для которой требуется установить номер листа. Если данный параметр не указан, функция вернет номер листа, в одной из ячеек которого она была записана.
Примечания:
- При работе функции ЛИСТ учитываются все листы, которые являются видимыми, скрытыми и очень скрытыми. Исключениями являются диалоги, макросы и диаграммы.
- Если аргументом функции является текстовое значение, которое не соответствует названию ни одного из листов, содержащихся в книге, будет возвращена ошибка #НД.
- Если в качестве аргумента функции было передано недействительное значение, результатом ее вычислений будет являться ошибка #ССЫЛКА!.
- В рамках объектной модели (иерархия объектов на VBA, в которой Application является главным объектом, а Workbook, Worksheer и т. д. – дочерними объектами) функция ЛИСТ недоступна, поскольку она содержит схожую функцию.
Функция листы имеет следующий синтаксис: =ЛИСТЫ(ссылка).
- ссылка – объект ссылочного типа, для которого требуется определить количество листов. Данный аргумент является необязательным. Если данный параметр не указан, функция вернет количество листов, содержащихся в книге, на одном из листов которой она была записана.
Примечания:
- Данная функция подсчитывает количество всех скрытых, очень скрытых и видимых листов, за исключением диаграмм, макросов и диалогов.
- Если в качестве параметра была передана недействительная ссылка, результатом вычислений является код ошибки #ССЫЛКА!.
- Данная функция недоступна в объектной модели в связи с наличием там схожей функции.
Как получить имя листа формулой в Excel
Пример 1. При выполнении расчетной работы студент использовал программу Excel, в которой создал книгу из несколько листов. Для собственного удобства, студент решил в ячейках A2 и B2 каждого листа выводить данные о названии листа и его порядковом номере соответственно. Для этого он использовал следующие формулы:
Описание аргументов для функции ПСТР:
- ЯЧЕЙКА(«имяфайла») – функция, возвращающая текст, в котором функция ПСТР выполняет поиск заданного количества символов. В данном случае вернется значение «C:UserssoulpDesktop[ЛИСТ_ЛИСТЫ.xlsx]Статические расчеты», где после символа «]» находится искомый текст – название листа.
- НАЙТИ(«]»;ЯЧЕЙКА(«имяфайла»))+1 – функция, возвращающая номер позиции символа «]», единица добавлена с той целью, чтобы функция ПСТР не учитывала символ «]».
- 31 – максимальное количество символов в названии листа.
=ЛИСТ() – данная функция без параметра вернет номер текущего листа. В результате ее вычисления получим количество листов в текущей книге.
Примеры использования функции ЛИСТ и ЛИСТЫ
Пример 2. В книге Excel содержится несколько листов. Необходимо:
- Вернуть номер текущего листа.
- Вернуть номер листа с названием «Статические_расчеты».
- Вернуть номер листа «Динамические_расчеты», если его ячейка A3 содержит значение 0.
Внесем данные в таблицу:
Далее составим формулы для всех 4-х условий:
- для условия №1 используем следующую формулу: =ЛИСТ()
- для условия №2 введем формулу: =ЛИСТ(«Статические_расчеты»)
- для условия №3 запишем формулу:
Функция ЕСЛИ выполняет проверку условия равенства значения, хранящегося в ячейке A3 листа Динамические_расчеты, нулю или пустому значению.
В результате получим:
Обработка информации о листах книги по формуле Excel
Пример 3. В книге Excel содержится несколько листов. Необходимо определить общее количество листов, а также число листов, содержащихся между листами «Статические_расчеты» и «Экономические_расчеты».
Исходная таблица имеет вид:
Общее количество листов вычислим по формуле:
Для определения количества листов, содержащихся между двумя указанными листами, запишем формулу:
- Статические_расчеты:Экономические_расчеты!A2 – ссылка на ячейку A2 диапазона листов между «Статические_расчеты» и «Экономические_расчеты» включая эти листы.
- Для получения искомого значения было вычтено число 2.
В результате получим следующее:
Скачать примеры функций ЛИСТ и ЛИСТЫ в формулах Excel
Формула выводит подробную информацию по данным о листах в определенном диапазоне их расположения в рабочей книге Excel.
GIG_ant Пользователь Сообщений: 3102 |
Имеем книгу с тремя листами «Петя», «Вася», «Данные». С помощью макроса нужно скопировать листы «Петя», «Вася» в другую книгу. Я это делаю так: |
Hugo Пользователь Сообщений: 23249 |
Уточнение: http://www.msoffice.nm.ru/faq/macros/module.htm#faq45 |
GIG_ant Пользователь Сообщений: 3102 |
{quote}{login=The_Prist}{date=17.01.2011 04:27}{thema=}{post}Можно обратиться к листу по его кодовому имени.{/post}{/quote} |
«в англоязычном екселе работать будет?» — нет, но лучше самому попробовать |
|
webley Пользователь Сообщений: 1991 |
А по моему будут. Ведь кодовое имя листа относится к его свойствам, а при изменении версии свойства листа не должны меняться. Или я ошибаюсь7 |
Hugo Пользователь Сообщений: 23249 |
Я думаю, что этот код будет работать в этом файле всюду. А вставленный в файл, созданный в англоязычном Экселе — нет. Ибо там имена листов SheetN. |
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Лучше все же переименуйте кодовые имена листов в латиницу….А про замену — меняются в соответствии с локализацией только вновь созданные листы. Имеющиеся не меняются. Не должны…:-) Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Мое мнение нет, так как откуда в англ.версии русский язык? P.S. Сам не пробовал. -=32777=- |
|
Hugo Пользователь Сообщений: 23249 |
А я уже и попробовал — у меня сейчас английский на рабочей машине. |
GIG_ant Пользователь Сообщений: 3102 |
{quote}{login=Hugo}{date=17.01.2011 04:49}{thema=}{post}А я уже и попробовал — у меня сейчас английский на рабочей машине.{/post}{/quote} У вас работает ? |
Hugo Пользователь Сообщений: 23249 |
В Вашем примере работает Sheets(Array(Лист1.Name, Лист2.Name)).Copy |
webley Пользователь Сообщений: 1991 |
{quote}{login=Hugo}{date=17.01.2011 05:00}{thema=}{post}В Вашем примере работает Sheets(Array(Лист1.Name, Лист2.Name)).Copy Правильно. Так речь идет об уже существующих листах, а не о вновь создаваемых |
Hugo Пользователь Сообщений: 23249 |
И я о том же. |
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
{quote}{login=webley}{date=17.01.2011 05:01}{thema=Re: }{post}Правильно. Так речь идет об уже существующих листах, а не о вновь создаваемых{/post}{/quote}Я же выше написал уже: «меняются в соответствии с локализацией только вновь созданные листы» Но я бы советовал все же использовать имена на латинице, т.к. это язык для VBA все же родной. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Hugo Пользователь Сообщений: 23249 |
Т.е. не из этой, а из просто workbooks.add… |
GIG_ant Пользователь Сообщений: 3102 |
Спасибо джентельмены. Очень помогли ! |
{quote}{login=The_Prist}{date=17.01.2011 04:27}{thema=}{post}Можно обратиться к листу по его кодовому имени. {/post}{/quote} |
|
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
А Вы не используйте в кодовом имени пробелы, тире и прочие знаки препинания. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
clauser Пользователь Сообщений: 26 |
{quote}{login=The_Prist}{date=17.06.2012 07:50}{thema=}{post}А Вы не используйте в кодовом имени пробелы, тире и прочие знаки препинания.{/post}{/quote} |
clauser Пользователь Сообщений: 26 |
А как к нему обращаться по кодовому имени? |
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#21 17.06.2012 20:51:56 Sheet12.Activate |