Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автозамена названия листа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автозамена названия листа (Формулы/Formulas)
Автозамена названия листа
Juanvl Дата: Четверг, 26.05.2016, 12:00 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Возможно ли сделать так, чтобы наименование листа изменялось в соответствии со значением определённой ячейки в этом листе?
 
Ответить
СообщениеВозможно ли сделать так, чтобы наименование листа изменялось в соответствии со значением определённой ячейки в этом листе?

Автор - Juanvl
Дата добавления - 26.05.2016 в 12:00
Hugo Дата: Четверг, 26.05.2016, 12:10 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

2019
Можно. Но не всякое значение годится.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеМожно. Но не всякое значение годится.

Автор - Hugo
Дата добавления - 26.05.2016 в 12:10
Juanvl Дата: Четверг, 26.05.2016, 12:12 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Hugo, текстовое значение. Так как это сделать?
 
Ответить
СообщениеHugo, текстовое значение. Так как это сделать?

Автор - Juanvl
Дата добавления - 26.05.2016 в 12:12
buchlotnik Дата: Четверг, 26.05.2016, 12:12 | Сообщение № 4
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
как-то так: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect([A1], Target) <> "" Then Me.Name = [A1]
End Sub
[/vba]
К сообщению приложен файл: 4408851.xlsm (13.1 Kb)
 
Ответить
Сообщениекак-то так: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect([A1], Target) <> "" Then Me.Name = [A1]
End Sub
[/vba]

Автор - buchlotnik
Дата добавления - 26.05.2016 в 12:12
_Boroda_ Дата: Четверг, 26.05.2016, 12:17 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Такой вариант
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then' в случае изменения ИМЕННО и ТОЛЬКО в А1. Если попутно меняется что-то еще, то не меняем лист
        On Error Resume Next
        Me.Name = Range("A1")
        If Err.Number Then
            MsgBox "Лист с таким именем уже есть или имя некорректно."
            Range("A1") = Me.Name ' возвращает в А1 старое имя
        End If
    End If
End Sub
[/vba]
К сообщению приложен файл: 486216.xlsm (15.8 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТакой вариант
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then' в случае изменения ИМЕННО и ТОЛЬКО в А1. Если попутно меняется что-то еще, то не меняем лист
        On Error Resume Next
        Me.Name = Range("A1")
        If Err.Number Then
            MsgBox "Лист с таким именем уже есть или имя некорректно."
            Range("A1") = Me.Name ' возвращает в А1 старое имя
        End If
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 26.05.2016 в 12:17
Juanvl Дата: Четверг, 26.05.2016, 12:18 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, buchlotnik, спасибо!
 
Ответить
Сообщение_Boroda_, buchlotnik, спасибо!

Автор - Juanvl
Дата добавления - 26.05.2016 в 12:18
Juanvl Дата: Четверг, 26.05.2016, 13:03 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 44
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Извиняюсь, 1 вопрос по этой теме ещё. В ВБА впервые что-то делаю. Сохранить изменения не получается, не изменяется ничего в файле.
Чтобы добавить код, кликаю правой кн. на лист внизу, выбираю "Исходных текст", далее появл.окно для кода, куда я пишу код, который мне здесь предлагался (с изменением ссылки на ячейку для названия). Далее кликаю на сохранение, выбираю "сохранить с макросами", но так ничего и не поменялось в наименовании листа (осталось прежним) . Где косяк?
 
Ответить
СообщениеИзвиняюсь, 1 вопрос по этой теме ещё. В ВБА впервые что-то делаю. Сохранить изменения не получается, не изменяется ничего в файле.
Чтобы добавить код, кликаю правой кн. на лист внизу, выбираю "Исходных текст", далее появл.окно для кода, куда я пишу код, который мне здесь предлагался (с изменением ссылки на ячейку для названия). Далее кликаю на сохранение, выбираю "сохранить с макросами", но так ничего и не поменялось в наименовании листа (осталось прежним) . Где косяк?

Автор - Juanvl
Дата добавления - 26.05.2016 в 13:03
Hugo Дата: Четверг, 26.05.2016, 13:10 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

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


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеПоменяется тогда, когда измените значение ячейки. Если конечно макросы разрешены, события отслеживаются.

Автор - Hugo
Дата добавления - 26.05.2016 в 13:10
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автозамена названия листа (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!