формула на автоматическое изменение названия листа книги
h1dex
Дата: Четверг, 15.02.2018, 13:48 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
добрый день форумчане! и гуру экселя я через поиск пробовал найти нужную мне тему, но что-то как то не получилось может есть какая то формула или макрос на автоматическое изменение листа рабочей книги при изменении определённой ячейки? т.е. у меня к примеру есть рабочая книга (excel-файл) "Продукты"..в ней есть 1 лист с названием "Овощи" и в ячейке к примеру B2 если вставить название "Фрукты" то лист "Овощи" автоматом переименовывается в "Фрукты" как такое реализовать? было бы неплохо если бы это был автоматический макрос или формула
добрый день форумчане! и гуру экселя я через поиск пробовал найти нужную мне тему, но что-то как то не получилось может есть какая то формула или макрос на автоматическое изменение листа рабочей книги при изменении определённой ячейки? т.е. у меня к примеру есть рабочая книга (excel-файл) "Продукты"..в ней есть 1 лист с названием "Овощи" и в ячейке к примеру B2 если вставить название "Фрукты" то лист "Овощи" автоматом переименовывается в "Фрукты" как такое реализовать? было бы неплохо если бы это был автоматический макрос или формула h1dex
Сообщение отредактировал h1dex - Четверг, 15.02.2018, 13:49
Ответить
Сообщение добрый день форумчане! и гуру экселя я через поиск пробовал найти нужную мне тему, но что-то как то не получилось может есть какая то формула или макрос на автоматическое изменение листа рабочей книги при изменении определённой ячейки? т.е. у меня к примеру есть рабочая книга (excel-файл) "Продукты"..в ней есть 1 лист с названием "Овощи" и в ячейке к примеру B2 если вставить название "Фрукты" то лист "Овощи" автоматом переименовывается в "Фрукты" как такое реализовать? было бы неплохо если бы это был автоматический макрос или формула Автор - h1dex Дата добавления - 15.02.2018 в 13:48
китин
Дата: Четверг, 15.02.2018, 13:54 |
Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация:
1078
±
Замечаний:
0% ±
Excel 2007;2010;2016
[vba]Код
Private Sub Worksheet_Activate() Dim i& i = 1 Sheets(i).Name = Sheets(i).[a1].Value End Sub
[/vba] У меня работает. в А1 то название в которое нуно переименовать
[vba]Код
Private Sub Worksheet_Activate() Dim i& i = 1 Sheets(i).Name = Sheets(i).[a1].Value End Sub
[/vba] У меня работает. в А1 то название в которое нуно переименовать китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Сообщение отредактировал китин - Четверг, 15.02.2018, 13:58
Ответить
Сообщение [vba]Код
Private Sub Worksheet_Activate() Dim i& i = 1 Sheets(i).Name = Sheets(i).[a1].Value End Sub
[/vba] У меня работает. в А1 то название в которое нуно переименовать Автор - китин Дата добавления - 15.02.2018 в 13:54
h1dex
Дата: Четверг, 15.02.2018, 15:03 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
работает..но переименование листа происходит только при переключении на другой лист т.е. переименование листа происходит не сразу я ещё забыл сказать что у меня 2 ячейки объединены в одну
работает..но переименование листа происходит только при переключении на другой лист т.е. переименование листа происходит не сразу я ещё забыл сказать что у меня 2 ячейки объединены в одну h1dex
Ответить
Сообщение работает..но переименование листа происходит только при переключении на другой лист т.е. переименование листа происходит не сразу я ещё забыл сказать что у меня 2 ячейки объединены в одну Автор - h1dex Дата добавления - 15.02.2018 в 15:03
китин
Дата: Четверг, 15.02.2018, 15:05 |
Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация:
1078
±
Замечаний:
0% ±
Excel 2007;2010;2016
Ну дык поменяйте [vba]Код
Private Sub Worksheet_Activate()
[/vba] на [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
[/vba] на изменение ячейки
Ну дык поменяйте [vba]Код
Private Sub Worksheet_Activate()
[/vba] на [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
[/vba] на изменение ячейки китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение Ну дык поменяйте [vba]Код
Private Sub Worksheet_Activate()
[/vba] на [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
[/vba] на изменение ячейки Автор - китин Дата добавления - 15.02.2018 в 15:05
h1dex
Дата: Четверг, 15.02.2018, 15:17 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
а как полностью будет код? у меня ошибку начало выдавать я так вставил: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim i& i = 1 Sheets(i).Name = Sheets(i).[a1].Value End Sub
[/vba]
а как полностью будет код? у меня ошибку начало выдавать я так вставил: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim i& i = 1 Sheets(i).Name = Sheets(i).[a1].Value End Sub
[/vba] h1dex
Ответить
Сообщение а как полностью будет код? у меня ошибку начало выдавать я так вставил: [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim i& i = 1 Sheets(i).Name = Sheets(i).[a1].Value End Sub
[/vba] Автор - h1dex Дата добавления - 15.02.2018 в 15:17
китин
Дата: Четверг, 15.02.2018, 15:22 |
Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация:
1078
±
Замечаний:
0% ±
Excel 2007;2010;2016
я вставил код из вашего поста в свой пример: никакой ошибки
я вставил код из вашего поста в свой пример: никакой ошибки китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение я вставил код из вашего поста в свой пример: никакой ошибки Автор - китин Дата добавления - 15.02.2018 в 15:22
китин
Дата: Четверг, 15.02.2018, 15:28 |
Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация:
1078
±
Замечаний:
0% ±
Excel 2007;2010;2016
А, у вас наверное лист не первым идет. Попробуйте так [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Sh = Range("A1").Value ActiveSheet.Name = Sh End Sub
[/vba] в модуль листа
А, у вас наверное лист не первым идет. Попробуйте так [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Sh = Range("A1").Value ActiveSheet.Name = Sh End Sub
[/vba] в модуль листа китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Сообщение отредактировал китин - Четверг, 15.02.2018, 15:28
Ответить
Сообщение А, у вас наверное лист не первым идет. Попробуйте так [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Sh = Range("A1").Value ActiveSheet.Name = Sh End Sub
[/vba] в модуль листа Автор - китин Дата добавления - 15.02.2018 в 15:28
h1dex
Дата: Четверг, 15.02.2018, 15:43 |
Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
работает..спасибо
Ответить
Сообщение работает..спасибо Автор - h1dex Дата добавления - 15.02.2018 в 15:43