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

Вход

Регистрация

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

 

= Мир MS Excel/Имя Листа Из Ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Имя Листа Из Ячейки (без макроса, по возможности)
Имя Листа Из Ячейки
NIC Дата: Суббота, 20.04.2013, 15:28 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

День добрый, можно ли каким то способом, желательно без применения макросов, изменять имя Листа из ячейки этого листа, или даже из соседнего!!???
Заранее СПАСИБО!!!
 
Ответить
СообщениеДень добрый, можно ли каким то способом, желательно без применения макросов, изменять имя Листа из ячейки этого листа, или даже из соседнего!!???
Заранее СПАСИБО!!!

Автор - NIC
Дата добавления - 20.04.2013 в 15:28
NIC Дата: Суббота, 20.04.2013, 23:16 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Некорректно объяснил, или хочу невозможное??? cool
 
Ответить
СообщениеНекорректно объяснил, или хочу невозможное??? cool

Автор - NIC
Дата добавления - 20.04.2013 в 23:16
AlexM Дата: Воскресенье, 21.04.2013, 00:01 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Цитата (NIC)
без применения макросов

Цитата (NIC)
хочу невозможное

Макросом можно, но нужен файл и примерный алгоритм работы макроса.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 21.04.2013, 10:32
 
Ответить
Сообщение
Цитата (NIC)
без применения макросов

Цитата (NIC)
хочу невозможное

Макросом можно, но нужен файл и примерный алгоритм работы макроса.

Автор - AlexM
Дата добавления - 21.04.2013 в 00:01
Serge_007 Дата: Воскресенье, 21.04.2013, 17:26 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (NIC)
можно ли каким то способом, желательно без применения макросов, изменять имя Листа из ячейки этого листа, или даже из соседнего!
Без макросов - только вручную


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (NIC)
можно ли каким то способом, желательно без применения макросов, изменять имя Листа из ячейки этого листа, или даже из соседнего!
Без макросов - только вручную

Автор - Serge_007
Дата добавления - 21.04.2013 в 17:26
NIC Дата: Воскресенье, 21.04.2013, 19:12 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Но ведь, в ячейке можно отобразить имя листа!(без макроса) biggrin
 
Ответить
СообщениеНо ведь, в ячейке можно отобразить имя листа!(без макроса) biggrin

Автор - NIC
Дата добавления - 21.04.2013 в 19:12
Serge_007 Дата: Воскресенье, 21.04.2013, 19:14 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Без макроса отобразить можно. Изменить название листа по значению ячейки без макроса нельзя


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеБез макроса отобразить можно. Изменить название листа по значению ячейки без макроса нельзя

Автор - Serge_007
Дата добавления - 21.04.2013 в 19:14
NIC Дата: Воскресенье, 21.04.2013, 20:39 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

ЖАЛЬ! Не дружу я с этими макросами, да и ознакомиться некогда! Но скоро чувствую придется! И что же нужно написать, в исходном тексте, чтобы автоматом обновлялся, если не секрет!!!??? biggrin Спасибо
 
Ответить
СообщениеЖАЛЬ! Не дружу я с этими макросами, да и ознакомиться некогда! Но скоро чувствую придется! И что же нужно написать, в исходном тексте, чтобы автоматом обновлялся, если не секрет!!!??? biggrin Спасибо

Автор - NIC
Дата добавления - 21.04.2013 в 20:39
AlexM Дата: Воскресенье, 21.04.2013, 20:59 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Посмотрите.
В ячейку А1 пишите имя и оно заменяет имя активного листа
Код в модуле Эта книга
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then Sheets(Sh.Index).Name = Target.Value
End Sub
[/vba]
Макросы должны быть разрешены в настройках безопасности Excel
К сообщению приложен файл: Workbook_Change.xls (26.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 21.04.2013, 21:01
 
Ответить
СообщениеПосмотрите.
В ячейку А1 пишите имя и оно заменяет имя активного листа
Код в модуле Эта книга
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then Sheets(Sh.Index).Name = Target.Value
End Sub
[/vba]
Макросы должны быть разрешены в настройках безопасности Excel

Автор - AlexM
Дата добавления - 21.04.2013 в 20:59
NIC Дата: Воскресенье, 21.04.2013, 21:48 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

КЛАСС!!! Работает! Только вот ещё какая штука, а если эта ячейка с именем будет формулой и будет обращена к другому листу, то не меняется, что нужно дописать или без вариантов!???
Заранее спасибо!!!
 
Ответить
СообщениеКЛАСС!!! Работает! Только вот ещё какая штука, а если эта ячейка с именем будет формулой и будет обращена к другому листу, то не меняется, что нужно дописать или без вариантов!???
Заранее спасибо!!!

Автор - NIC
Дата добавления - 21.04.2013 в 21:48
AlexM Дата: Воскресенье, 21.04.2013, 22:13 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Я вам пример файла показал, теперь ваша очередь.
Покажите в примере какая формула, в какой ячейке. Попробуем разобраться почему не работает.

О примере я писал ранее
Цитата (AlexM)
Макросом можно, но нужен файл и примерный алгоритм работы макроса.

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



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 21.04.2013, 22:21
 
Ответить
СообщениеЯ вам пример файла показал, теперь ваша очередь.
Покажите в примере какая формула, в какой ячейке. Попробуем разобраться почему не работает.

О примере я писал ранее
Цитата (AlexM)
Макросом можно, но нужен файл и примерный алгоритм работы макроса.

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

Автор - AlexM
Дата добавления - 21.04.2013 в 22:13
NIC Дата: Воскресенье, 21.04.2013, 22:22 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Извиняюсь!!! В Вашем же файле!!! На первом листе! Спасибо
К сообщению приложен файл: Workbook_Change.xls (33.0 Kb)
 
Ответить
СообщениеИзвиняюсь!!! В Вашем же файле!!! На первом листе! Спасибо

Автор - NIC
Дата добавления - 21.04.2013 в 22:22
AlexM Дата: Воскресенье, 21.04.2013, 22:51 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Извиняюсь. Можно конечно потратить время и показать, что это возможно, но к сожалению вам новый пример не пригодится.
Напишите и покажите на примере что вам нужно.
Может быть так надо?
На Лист1 (не важно название) В ячейках А2, А3 и А4 пишем названия листов.
При записи в А2 меняется название Листа2
При записи в А3 меняется название Листа3
При записи в А4 меняется название Листа4
И тд.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеИзвиняюсь. Можно конечно потратить время и показать, что это возможно, но к сожалению вам новый пример не пригодится.
Напишите и покажите на примере что вам нужно.
Может быть так надо?
На Лист1 (не важно название) В ячейках А2, А3 и А4 пишем названия листов.
При записи в А2 меняется название Листа2
При записи в А3 меняется название Листа3
При записи в А4 меняется название Листа4
И тд.

Автор - AlexM
Дата добавления - 21.04.2013 в 22:51
AlexM Дата: Воскресенье, 21.04.2013, 23:19 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Вот вам пример на выше описанный алгоритм
Код в модуле Лист1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A2:A4"), Target) Is Nothing Then
     For Each iCell In Target
         Sheets(iCell.Row).Name = IIf(iCell <> "", iCell.Value, WorksheetFunction.Rept(" ", iCell.Row))
     Next
End If
End Sub
[/vba]
К сообщению приложен файл: Workbook_Change.xls (39.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеВот вам пример на выше описанный алгоритм
Код в модуле Лист1
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A2:A4"), Target) Is Nothing Then
     For Each iCell In Target
         Sheets(iCell.Row).Name = IIf(iCell <> "", iCell.Value, WorksheetFunction.Rept(" ", iCell.Row))
     Next
End If
End Sub
[/vba]

Автор - AlexM
Дата добавления - 21.04.2013 в 23:19
NIC Дата: Воскресенье, 21.04.2013, 23:22 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

ок! Всё написал в файле! Спасибо!

УПС! чуть припозднился!
К сообщению приложен файл: 3614143.xls (38.5 Kb)


Сообщение отредактировал NIC - Воскресенье, 21.04.2013, 23:24
 
Ответить
Сообщениеок! Всё написал в файле! Спасибо!

УПС! чуть припозднился!

Автор - NIC
Дата добавления - 21.04.2013 в 23:22
AlexM Дата: Воскресенье, 21.04.2013, 23:36 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
См. Файл.
К сообщению приложен файл: 3614143_new.xls (53.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеСм. Файл.

Автор - AlexM
Дата добавления - 21.04.2013 в 23:36
NIC Дата: Воскресенье, 21.04.2013, 23:39 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Вот так спасибочки!!!!
 
Ответить
СообщениеВот так спасибочки!!!!

Автор - NIC
Дата добавления - 21.04.2013 в 23:39
AlexM Дата: Воскресенье, 21.04.2013, 23:46 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
В заданные ячейки имена листов можно вставлять копированием по несколько.
При удалении имени ярлык листа будет как бы пустой, имя будет составлено из нескольких пробелов по индексу (номеру) листа.
Если так не сделать, макрос остановится на ошибке, так как имя не может быть пустым.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеВ заданные ячейки имена листов можно вставлять копированием по несколько.
При удалении имени ярлык листа будет как бы пустой, имя будет составлено из нескольких пробелов по индексу (номеру) листа.
Если так не сделать, макрос остановится на ошибке, так как имя не может быть пустым.

Автор - AlexM
Дата добавления - 21.04.2013 в 23:46
NIC Дата: Воскресенье, 21.04.2013, 23:53 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

а можно расшифровать эту строку, так для себя, чтобы знать:

Код
sh = iCell.Row - 2 + 4 * (iCell.Column - 3)
         Sheets(sh).Name = IIf(iCell <> "", iCell.Value, WorksheetFunction.Rept(" ", sh))


Сообщение отредактировал NIC - Понедельник, 22.04.2013, 00:03
 
Ответить
Сообщениеа можно расшифровать эту строку, так для себя, чтобы знать:

Код
sh = iCell.Row - 2 + 4 * (iCell.Column - 3)
         Sheets(sh).Name = IIf(iCell <> "", iCell.Value, WorksheetFunction.Rept(" ", sh))

Автор - NIC
Дата добавления - 21.04.2013 в 23:53
AlexM Дата: Понедельник, 22.04.2013, 00:12 | Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
sh = iCell.Row - 2 + 4 * (iCell.Column - 3)
[/vba]
iCell.Row - это номер строки, в которой находится ячейка вызвавшая событие Worksheet_Change
iCell.Column - это соответственно номер столбца
По этим номерам определяем индекс листа, имя которого меняем.
[vba]
Код
Sheets(sh).Name = IIf(iCell <> "", iCell.Value, WorksheetFunction.Rept(" ", sh))
[/vba]
В этой строке листу с посчитанным индексом присваиваем имя из ячейки. Если ячейка не пустая, то имя берем из нее. Иначе имя составляем из пробелов (функция листа ПОВТОР()), количество пробелов равно индексу листа.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение[vba]
Код
sh = iCell.Row - 2 + 4 * (iCell.Column - 3)
[/vba]
iCell.Row - это номер строки, в которой находится ячейка вызвавшая событие Worksheet_Change
iCell.Column - это соответственно номер столбца
По этим номерам определяем индекс листа, имя которого меняем.
[vba]
Код
Sheets(sh).Name = IIf(iCell <> "", iCell.Value, WorksheetFunction.Rept(" ", sh))
[/vba]
В этой строке листу с посчитанным индексом присваиваем имя из ячейки. Если ячейка не пустая, то имя берем из нее. Иначе имя составляем из пробелов (функция листа ПОВТОР()), количество пробелов равно индексу листа.

Автор - AlexM
Дата добавления - 22.04.2013 в 00:12
NIC Дата: Понедельник, 22.04.2013, 02:09 | Сообщение № 20
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Сижу догоняю, не пойму никак, получается, если листы пойдут не по порядку, то макрос не годится!??? допустим, в ячейках J29:J32 и K29:K32 должны содержать имена листов: для J29:J32 1,7,8,9 а для K29:K32 3,10,11,12 прикладываю файл!!!???
Спасибо за терпение!

P.S.
Цитата (AlexM)
Извиняюсь. Можно конечно потратить время и показать, что это возможно, но к сожалению вам новый пример не пригодится.

Всё пригодится!!!
К сообщению приложен файл: 1642607.xls (27.5 Kb)
 
Ответить
СообщениеСижу догоняю, не пойму никак, получается, если листы пойдут не по порядку, то макрос не годится!??? допустим, в ячейках J29:J32 и K29:K32 должны содержать имена листов: для J29:J32 1,7,8,9 а для K29:K32 3,10,11,12 прикладываю файл!!!???
Спасибо за терпение!

P.S.
Цитата (AlexM)
Извиняюсь. Можно конечно потратить время и показать, что это возможно, но к сожалению вам новый пример не пригодится.

Всё пригодится!!!

Автор - NIC
Дата добавления - 22.04.2013 в 02:09
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Имя Листа Из Ячейки (без макроса, по возможности)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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