Как переименовать лист в excel макрос
Перейти к содержимому

Как переименовать лист в excel макрос

  • автор:

помогите переименовать лист с помощью макроса

есть кнопка, при нажатии на которую должен создаваться новый лист,переименовываться и т.д.
Макрос записывался мышкой:добавляю новый лист, на котором сначала появляется имя Лист3, нажимаю на него и переименовываю..
в VBA это выглядит так:
Sheets.Add
Sheets(«Лист3»).Select
Sheets(«Лист3»).Name = «Отчет на 2008 год»
..
Потом чтобы проверить правильность, я удаляю созданный мной лист, и запускаю макрос. Программа прерывается на строке Sheets(«Лист3»).Select, потому что добавленному листу программа дала начальное имя Лист4, а не Лист3.. при следующей попытке уже Лист5.
можно ли выделить и переименовать лист без указания его нынешнего имени? или добавить лист уже с заданным именем? или считать в какую-нибудь переменную имя этого листа.

Пошаговое переименование листа Excel с содержимым ячейки с помощью макроса

Эта статья была написана Раддини Рахаю, Microsoft MVP.

Ситуация

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

Снимок экрана: еженедельные отчеты о продажах.

Решения

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

Выполнение

Первый шаг

Снимок экрана: имена листов сохраняются по умолчанию.

  • Проектирование форматов отчетов и указание расположения ячейки, в которой будет размещено название продаж. В этом случае расположение находится в ячейке J2. Этот формат отчета должен быть одинаковым на каждом листе.
  • Оставьте имена листов по умолчанию (Лист1, Лист2, Лист3 и т. д.).

Последний шаг

Шаг написания макросов

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

Снимок экрана: выбор Visual Basic в категории

  1. На вкладке Разработчик выберите Visual Basic в категории Code или нажмите сочетание клавиш ALT+F11 на клавиатуре, чтобы отобразить окно Visual Basic.
  2. В области задач проекта щелкните (Имя книги), а затем в меню Вставка выберите Модуль и напишите следующий скрипт:

Sub RenameSheet() Dim rs As Worksheet For Each rs In Sheets rs.Name = rs.Range("B5") Next rs End Sub 

Снимок экрана: шаги по написанию скрипта в книге Sales Report.xlsx.

  • Нажмите клавишу F5 на клавиатуре, если отладка не выполняется, закройте окно Visual Basic и вернитесь в Excel. Если выполняется отладка, проверка обратно скрипт.
  • Вернитесь в Excel и посмотрите, что происходит, если коды правильные, теперь имя каждого листа переименовываются в соответствии с существующим названием продаж на каждом листе. Снимок экрана: имя каждого листа, переименованного после существующего названия продаж на каждом листе.
  • Вот и все. Надеюсь, полезно.

    Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

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

    Как переименовать лист в excel макрос

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

    Помогите, пожалуйста. Просто таких папок довольно большое количество.
    Спасибо.

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

    Помогите, пожалуйста. Просто таких папок довольно большое количество.
    Спасибо. Fairuza

    Сообщение Доброго всем дня!
    Суть проблемы. Есть папка, в ней 100 файлов с разными названиями, в файлах по одному листу, названия листов в каждом файле различное. Надо, чтобы названия листов в каждом файле было одинаковое, конкретно tmpQuery1.

    Помогите, пожалуйста. Просто таких папок довольно большое количество.
    Спасибо. Автор — Fairuza
    Дата добавления — 13.09.2013 в 10:54

    Как переименовать лист в excel макрос

    Страницы: 1

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

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

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

    03.11.2016 12:06:39

    Здравствуйте!
    Просьба помочь через VBA переименовать листы, так как я из этих листов макросом затем подтягиваю данные в отчет, но так как листы каждый месяц переименовываются, с подтягиванием данных проблемы.
    1 вопрос: У меня имеется 5 листов.
    Задача:
    — переименовать 3 листа через VBA: «01», «AA 02», «BB 02» на названия, указанные в ячейках F2:H2 соответственно. Названия этих листов меняются каждый месяц на 1 цифру.
    Как я понимаю, необходимо сначала подтянуть текущие наименования этих 3 листов, допустим в ячейки F1:H1, а затем макросом их переименовать.
    — лист «Исходный» и «Формулы» не переименовываются, остаются без изменений, каждый месяц меняются названия только этих 3-х листов.
    Я нашел на одном из формуром код, который подтягивает название активного листа в заданную ячейку:
    If ActiveSheet.name <> «Формулы» Then Sheets(«Формулы»).Range(«F1») = ActiveSheet.name
    А мне необходимо, чтобы подтягивал именно из 3-х указанных листов. Может быть привязку сделать к их порядковому номеру? Листы для переименования находятс всегда со 2-го по 4-й, их количество неизменно.
    2 вопрос: как затем перейти на лист, название которого указано, допустим, в ячейке F2?
    Спасибо.

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

    • Шаблон.xlsx (13.97 КБ)

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

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