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

Типичная задача. Есть много листов названия которых нас не устраивают. Мы хотим их переименовать. Делать это вручную очень долго.

C надстройкой ЁXCEL это сделать легко.

Перейдите во вкладку «ЁXCEL» главного меню, нажмите кнопку «Листы», в выпавшем списке выберите пункт «Получить список листов книги»:

В открывшемся диалоговом окне установите переключатель в положение «Простой список листов (все листы)» и нажмите «ОК»:

Программа создаст в активной книге новый лист на который выведет названия всех листов:

Как быстро переименовать листы?

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

kak-bystro-pereimenovat-listy_2.png

Выделите диапазон со старыми и новыми названиями листов, перейдите во вкладку «ЁXCEL» главного меню, нажмите кнопку «Листы» и выберите команду «Переименовать листы из списка»:

kak-bystro-pereimenovat-listy_3.png

В открывшемся диалоговом окне нажмите «ОК»:

kak-bystro-pereimenovat-listy_4.png

Указанные листы будут переименованы.

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

Содержание

  • Процесс переименования
    • Способ 1: контекстное меню ярлыка
    • Способ 2: двойной щелчок по ярлыку
    • Способ 3: кнопка на ленте
    • Способ 4: использование надстроек и макросов
  • Вопросы и ответы

Лист в Microsoft Excel

Как известно, программа Excel предоставляет возможность пользователю работать в одном документе сразу на нескольких листах. Название каждому новому элементу приложение присваивает автоматически: «Лист 1», «Лист 2» и т.д. Это не просто слишком сухо, с чем ещё можно смириться, работая с документацией, но еще и малоинформативно. Пользователь по одному наименованию не сможет определить, какие данные размещены в конкретном вложении. Поэтому актуальным становится вопрос переименования листов. Давайте разберемся, как это делается в Экселе.

Процесс переименования

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

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

  • В наименовании не должны присутствовать такие символы: «?», «/», «», «:», «*», «[]»;
  • Название не может быть пустым;
  • Общая длина наименования не должна превышать 31 знак.

При составлении имени листа нужно учитывать вышеуказанные правила. В обратном случае программа не даст завершить данную процедуру.

Способ 1: контекстное меню ярлыка

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

  1. Кликаем правой кнопкой по ярлыку, над которым хотим произвести манипуляцию. В контекстном меню выбираем пункт «Переименовать».
  2. Переход к переименованию листа в Microsoft Excel

  3. Как видим, после этого действия поле с названием ярлыка стало активным. Просто набираем туда с клавиатуры любое подходящее по контексту наименование.
  4. Поле свтало активным в Microsoft Excel

  5. Жмем на клавишу Enter. После этого листу будет присвоено новое имя.

Лист переименован в Microsoft Excel

Способ 2: двойной щелчок по ярлыку

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

Ярлык готов к переименованию в Microsoft Excel

Способ 3: кнопка на ленте

Переименование можно также совершить с помощью специальной кнопки на ленте.

  1. Кликнув по ярлыку, переходим на лист, который нужно переименовать. Перемещаемся во вкладку «Главная». Жмем на кнопку «Формат», которая размещена на ленте в блоке инструментов «Ячейка». Открывается список. В нём в группе параметров «Упорядочить листы» нужно кликнуть по пункту «Переименовать лист».
  2. Переход к переименованию листа через ленту в Microsoft Excel

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

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

Способ 4: использование надстроек и макросов

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

Lumpics.ru

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

  1. Нужно в таблице Excel составить два списка: в одном перечень старых названий листов, а во втором – список наименований на которые вы хотите их заменить.
  2. Два списка в Microsoft Excel

  3. Запускаем надстройки или макрос. Вводим в отдельное поле окна надстройки координаты диапазона ячеек со старыми наименованиями, а в другое поле – с новыми. Жмем на кнопку, которая активирует переименование.
  4. Запуск группового переименования в Microsoft Excel

  5. После этого, произойдет групповое переименование листов.

Результаты группового переименования в Microsoft Excel

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

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

Как видим, переименовать листы в программе Excel можно с помощью нескольких вариантов действий. Одни из них интуитивно понятны (контекстное меню ярлыков), другие – несколько более сложные, но тоже не содержат особенных проблем в освоении. Последнее, в первую очередь, относится к переименованию с помощью кнопки «Формат» на ленте. Кроме того, для массового переименования можно также применять макросы и надстройки сторонних разработчиков.

Еще статьи по данной теме:

Помогла ли Вам статья?

 

Honey

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

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

#1

07.09.2015 11:55:30

У меня есть макрос:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("А1") Then
        If Target.Value <> "" Then
            If Len(Target.Value) < 30 Then
                Target.Parent.Name = Target.Value
            End If
        End If
    End If
End Sub

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

Код
Sub Ìàêðîñ1()

    Range("А1").Select
    ActiveCell.FormulaR1C1 = "=TEXT(RC[-10],""ää.ÌÌ.ãããã"")&R[1]C[-1]"
    Range("А2").Select
End Sub

Но совместить их правильно я не смогла. Чего-то не работает да и как совмещать правильно не знаю.
Во вложении есть файл с примером.
Z в макросах не бум бум. Надеюсь на Вашу помощь! Заранее спасибо!

P.S. В примере макрос находится: Исходный текст  —  контекстное меню листа

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

  • Лист Microsoft Excel (2).xlsm (12.94 КБ)

Изменено: Honey07.09.2015 13:36:09

 

Сергей

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

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

#2

07.09.2015 12:10:28

на второй ссылке в поиске в модуль листа

Код
Private Sub Worksheet_Calculate()
    Me.Name = Me.Cells(1, 1)
End Sub

Лень двигатель прогресса, доказано!!!

 

Honey

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

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

Сергей, спасибо большое! Я была бы благодарна, если бы к тому же и объяснили еще подробней что и куда)))
Простите, я совсем чайник…

Изменено: Honey07.09.2015 12:37:11

 

Сергей

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

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

вот

Лень двигатель прогресса, доказано!!!

 

Honey

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

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

Сергей,УАУ!!! То есть Вы тот макрос вообще убрали? Это так круто! Спасибо большое прибольшое!!! А можете объяснить почему так? Что означает именно этот макрос?

И еще вопрос… Если мои исходные данные находятся не в вышеуказанных ячейках а в С1 и Н3? Как тогда мне быть? Можно ли переформировывать макрос?

Изменено: Honey07.09.2015 12:44:20

 

Сергей

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

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

#6

07.09.2015 12:44:26

Цитата
Honey написал: А можете объяснить

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

Лень двигатель прогресса, доказано!!!

 

Михаил Лебедев

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

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

#7

07.09.2015 12:47:10

Что Вы хотите, чтобы получилось?
В верхнем макросе — код, который срабатывает только на событие «Изменение (…_Change) значения в ячейке».
Это событие происходит, если Вы нажали на яч. например F2? а затем — ентер..
В самом коде написано, что отслеживаются 3 условия первое из которых — это изменение значения в яч. А1 (If Target = Range(«А1») Then).

Ваш код — это просто запись макрорекордером процесса редактирования ячейки А1, в которой записана формула.

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

Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    With Me.ActiveSheet
    .Name = .Cells(1, 1)
    End With
End Sub

или в модуль каждого листа код Сергея.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Но в А1 должна быть формула

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Sanja

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

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

#9

07.09.2015 12:51:36

Цитата
Honey написал: Если мои исходные данные находятся не в вышеуказанных ячейках а в С1 и Н3?

А это куда применить? Из какой ячейки должно браться наименование листа?

Согласие есть продукт при полном непротивлении сторон.

 

Honey

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

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

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

 

Михаил Лебедев

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

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

#11

07.09.2015 12:53:15

Цитата
Honey написал: Вы тот макрос вообще убрали?

Тот макрос отслеживал 3 условия, макрос Сергея — только одно.
Условия, что А1 не пустая If Target.Value <> «» Then) и что его длина не больше 30 символов (If Len(Target.Value) < 30 Then) — он не отслеживал.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Honey

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

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

#12

07.09.2015 12:53:16

Цитата
Михаил Лебедев написал: Но в А1 должна быть формула

А если она будет меняться? Например не в А1 а в М6?

 

Сергей

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

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

.Cells(6, 13)

Изменено: Сергей07.09.2015 12:56:00

Лень двигатель прогресса, доказано!!!

 

Sanja

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

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

Может лучше вести

ЛОГ

работы с файлом?

Согласие есть продукт при полном непротивлении сторон.

 

Honey

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

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

Sanja, это нужно мне также для того, чтобы путь к данным в листе я могла применять в формуле ДВССЫЛ… Мне так удобнее будет…
Но статью обязательно прочитаю. Уже взяла себе на заметку. Спасибо!!!)))

 

Михаил Лебедев

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

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

#16

07.09.2015 13:32:39

Цитата
Honey написал:
При этом возможно в будущем названия листов будут исходить из других ячеек на этом листе

Возможно Вам поможет вот такой вариант.
Дать собственное имя той ячейке, из которой макросом будет браться имя для листа.
Тогда эту ячейку можно перетаскивать (или «вырезать-вставить») в любое место листа.

Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    With Me.ActiveSheet
    .Name = .Range("ИмяЛиста")
    End With
End Sub

А вообще — Ваш подход, на мой взгляд, не очень удачный…

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

Вы сколько листов планируете создать в одной книге? [рабочих дней в году] * [кол-во менеджеров]? У Вас достаточно мощный компьютер?

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

  • Лист Microsoft Excel (2).xlsm (15.35 КБ)

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Honey

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

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

#17

08.09.2015 05:36:11

Михаил Лебедев,спасибо большое! Ваш последний вариант — то, что нужно! Насчет остального: компьютер достаточно мощный, до этого они просто вручную переименовывали листы — у каждого свой формат, поэтому удобнее если все будет автоматически выводиться в одном. Книга создается на месяц, каждый день по 10 максимум новых листов на одного менеджера. Как обычно, макрос не позволяет создавать копии листа (н-р 01.02.10Соколов, а копия 01.02.10Соколов (2) — выдает ошибку), но это небольшая проблема))) Ведь при этом он все-равно продолжает отлично работать!
Еще раз огромное спасибо всем!!!

Обычно для переименования листов в Excel мы можем быстро дважды щелкнуть вкладку листа или щелкнуть правой кнопкой мыши вкладку листа, чтобы выбрать команду «Переименовать» для переименования листов. Это очень удобно, чтобы переименовать один или два листа в Excel, но если мы хотим переименовать несколько листов в рамках одной операции, как мы можем это сделать?

Использование команды Rename для переименования листов
Использование кода VBA для переименования нескольких листов
Использование удобного инструмента для удобного переименования нескольких листов


Использование команды Rename для переименования листов

Мы можем быстро переименовать листы в Excel с помощью Переименовывать команду в соответствии со следующими процедурами:

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

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


Наблюдения и советы этой статьи мы подготовили на основании опыта команды Переименовать несколько листов полезности Kutools for Excel может помочь вам легко переименовать несколько листов одновременно в Excel.
Скачать сейчас! (30-дневная бесплатная трасса)


Использование кода VBA для переименования нескольких листов

Здесь я представлю вам два кода VBA для переименования нескольких листов.

1. Код VBA для одновременного переименования нескольких листов по желаемому имени.

Используя следующий код VBA, вы можете быстро переименовать все листы текущей книги с тем же префиксом в их именах листов, например: KTE-order1, KTE-order 2 и KTE-order 3…

1. Нажмите на Застройщик > Визуальный Бейсики нажмите Вставить > Модули в Приложение Microsoft Visual Basic для Windows.

2. Скопируйте и вставьте следующий код в Модули

VBA: переименуйте все листы, введя определенное имя

Sub ChangeWorkSheetName()
'Updateby20140624
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
newName = Application.InputBox("Name", xTitleId, "", Type:=2)
For i = 1 To Application.Sheets.Count
    Application.Sheets(i).Name = newName & i
Next
End Sub

3.  Нажмите документ переименовать несколько листов-4 кнопку, чтобы выполнить код, и введите желаемое имя во всплывающем диалоговом окне. см. скриншоты:

документ переименовать листы 2

4. Нажмите OK. Затем вы увидите, что все листы переименованы.

документ переименовать листы 3

2. Код VBA для переименования нескольких листов по определенному значению ячейки на каждом листе активной книги.

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

1.  Укажите ячейку, которая будет содержать имя рабочего листа на каждом листе, и введите в нее имя рабочего листа. В этом примере я введу имя рабочего листа в ячейку A1 на каждом листе.

2.  Нажмите Застройщик > Визуальный Бейсики нажмите Вставить > Модули в Приложение Microsoft Visual Basic Окон.

3.  Скопируйте и вставьте следующий код в модуль.

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

Sub RenameTabs()
'Updateby20140624
 For x = 1 To Sheets.Count
 If Worksheets(x).Range("A1").Value <> "" Then
 Sheets(x).Name = Worksheets(x).Range("A1").Value
 End If
 Next
 End Sub

4.  Нажмите документ переименовать несколько листов-4 кнопку для выполнения кода. Все рабочие листы переименовываются на основе содержимого ячеек A1.

Ноты:

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

2. Если конкретная ячейка не имеет содержимого, то рабочий лист этой ячейки не будет переименован.


Использование удобного инструмента для удобного переименования нескольких листов

Наблюдения и советы этой статьи мы подготовили на основании опыта команды Переименовать несколько листов инструмент Kutools for Excel очень удобен для переименования всех листов или выбранных конкретных листов текущей книги.

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

1. Переименуйте несколько рабочих листов с определенными данными, используя Kutools for Excel

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

1.  Нажмите Кутулс Плюс > Рабочий лист > Переименовать листы. Смотрите скриншот:

2. Задайте настройки в Переименовать несколько листов диалоговое окно. Смотрите скриншот:

документ переименовать листы 5

1. Выберите листы, которые вы хотите переименовать, из Worksheets .

2. Выберите один тип, листы которого вы хотите переименовать в Параметры переименования.

3. Введите конкретное значение в Из поля ввода.

3. Затем нажмите OK. Вы получите следующие результаты:

документ переименовать листы 6

2. Переименуйте несколько рабочих листов со значениями ячеек, используя Kutools for Excel

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

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

документ переименовать листы 7

1. Выберите листы, которые вы хотите переименовать, из Worksheets .

2. Выберите один тип, листы которого вы хотите переименовать в Параметры переименования.

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

3.  Затем нажмите OK. Вы получите следующий результат:

документ переименовать листы 8

3. Переименуйте несколько рабочих листов с определенным значением ячейки на каждом листе, используя Kutools for Excel

Чтобы переименовать рабочий лист с определенным значением ячейки на каждом листе, Kutools for Excel‘s Переименовать несколько листов также могу оказать вам услугу, пожалуйста, сделайте следующее:

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

документ переименовать листы 9

1. Выберите листы, которые вы хотите переименовать, из Worksheets .

2. Выберите один тип, листы которого вы хотите переименовать в Параметры переименования.

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

2. Затем нажмите Ok кнопки, имена рабочих листов были переименованы с конкретным значением ячейки на каждом листе, см. снимок экрана:

документ переименовать листы 10

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


Демонстрация: переименуйте несколько рабочих листов с помощью Kutools for Excel


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

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

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

вкладка kte 201905


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

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

офисный дно

Здравствуйте! Мне нужно чтобы лист сам автоматически переименовывался в название из ячейки. Например на листе1 есть ячейка A1. Там, в ячейке забито слово Колобок. Нужно чтобы лист1 сам переименовывался в название Колобок.


Через кнопку наверное так:
Sub Кнопка1_Щелкнуть()
    NewIm = Range(«A1»)
    Sheets(«Лист1»).Name = NewIm
End Sub

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Wasilic спасибо, но как же автоматом сделать? ???


Цитата: ActionFace от 05.01.2010, 17:32
Wasilic спасибо, но как же автоматом сделать? ???

Что значит «АВТОМАТОМ»? Если не по нажатию кнопки, то при каких условиях? При включении комьютера или открытия книги? Или ….???
Может я и не смогу ответить.

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Wasilic , впринципе и так хорошо! Спасибо! Но можно еще вопрос? У меня есть и второй лист который должен переименовываться :) Можно написать код для двух листов в пределах одного макроса? У листа2 есть свой A1 и там название предположим пчелка.


Sub Кнопка1_Щелкнуть()
    NewIm = Range(«A1»)
    Sheets(«Лист1»).Name = NewIm
    NewIm = Sheets(«Лист2»).Range(«A1»)
    Sheets(«Лист2»).Name = NewIm
End Sub

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

В общем то, это в тему о макросах VBA.
Внизу под сообщением есть выбор тем:
Выбери «Проекты VBA»
А много  разных ответов поищи здесь.
http://msoffice.nm.ru/faq/macros.htm

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Если автоматически, то может быть так?
Меняйте ячейки А1 в разных  листах

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_ Круто! :D Спасибо! Но как вы это сделали? Я не вижу ни формулы, ни макроса в присланном файле. Можете написать пошаговую инструкцию? :'(


Нужно два раза кликнуть мышой по «Эта книга» в VBA. Там макрос и сидит.

Сам макрос:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then
On Error Resume Next
Sh.Name = Sh.Range("a1")
If Not Err.Number = 0 Then MsgBox "Лист " & Sh.Name & " нельзя переименовать в " _
& Sh.Range("a1") & "," & Chr(10) & "лист " & Sh.Range("a1") & " уже есть в этой книге."
On Error GoTo 0
End If
End Sub

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_ Спасибо Большое все заработало! Не сочтите за наглость, а можно вас еще кое о чем спросить? Проблема такая. Мне нужно с экспортить с листа1 данные в текстовом файле с разделителем табуляции(.txt) Но вот незадача. В моих данных имеются точка с запятой ; . И при создании txt в экспортируемом тексте у меня появляются кавычки » ! Кавычки мне не нужны! Как можно от них избавиться? Я конечно могу не экспортировать, а просто скопировать и вставить, но проблема в том что у меня данные в разных ячейках и при копировании txt понимает что это разные ячейки и ставит между ними невидимую палку |. Как от нее можно избавиться?


Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;). 
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;). 
5.Потом делаю экспорт в формате txt с раздел табуляции.
6.В файле txt должно получиться: Kolobok;1;
Но этот Excel делает между словом Kolobok и знаком ; невидимый промежуток в виде знака | и самое страшное, между знаком ; excel пишет кавычки!
То есть TXT файл получается: «Kolobok;»   1   «;»
Приложил пример.


Если я правильно понял, необходимо сохранить значения из ячеек разделив их знаком точка с запятой «;». Попробуйте сохранить в формате *.csv. У меня на 2003 как раз такой результат получается. Формат .csv можно просто переименовать в .txt или же напрямую открыть текстовым редактором.


Еще один вариант автонаименования листа по ячейке. Используются свойства листа:

1. В случае изменения ячейки вручную на активном листе
Private Sub Worksheet_Change(ByVal Target As Range)
    Me.Name = Me.Cells(1, 1)
End Sub

2. В случае измениния ячейки в неактивном листе посредством формулы-ссылки (в приложении третий лист)
Private Sub Worksheet_Calculate()
    Me.Name = Me.Cells(1, 1)
End Sub


Цитата: ActionFace от 13.01.2010, 23:46
Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;).  
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;).  
5.Потом делаю экспорт в формате txt с раздел табуляции.

Извратиться, как написал boroda, наверное можно через дополнительный лист  формулой  «=Лист1!A1 & Лист1!B1 & Лист1!C1»  

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Цитата: ActionFace от 13.01.2010, 23:46
Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;). 
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;). 
5.Потом делаю экспорт в формате txt с раздел табуляции.
6.В файле txt должно получиться: Kolobok;1;

Посмотри файлик. Выкрутишся наверняка.

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


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

А вот еще интересные статьи:

  • Как автоматически оформить оглавление документов в word
  • Как автоматически отформатировать таблицу excel
  • Как автоматически открыть файл в excel
  • Как автоматически округлить число в excel
  • Как автоматически окрашивать ячейки в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии