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

Вход

Регистрация

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

 

= Мир MS Excel/Имя листов из диапозона ячеек, более 31 символа - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Имя листов из диапозона ячеек, более 31 символа (Макросы/Sub)
Имя листов из диапозона ячеек, более 31 символа
DAN123 Дата: Среда, 04.09.2019, 23:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день!

Написал макрос, при запуске которого создается книга с наименованием листов из диапазона ячеек. Но возникает ошибка "1004". Так как в некоторых ячейках из которых строится наименование - количество символов более 31.

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

Можно ли ограничить в коде количество символов например до 20 из текста в ячейках для имя листа.

Пожалуйста, подскажите, как можно допилить код, чтобы корректно создавались имена листов в данном случае.
К сообщению приложен файл: 6832929.xlsm(17.4 Kb)


Сообщение отредактировал DAN123 - Четверг, 05.09.2019, 11:01
 
Ответить
СообщениеДобрый день!

Написал макрос, при запуске которого создается книга с наименованием листов из диапазона ячеек. Но возникает ошибка "1004". Так как в некоторых ячейках из которых строится наименование - количество символов более 31.

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

Можно ли ограничить в коде количество символов например до 20 из текста в ячейках для имя листа.

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

Автор - DAN123
Дата добавления - 04.09.2019 в 23:12
китин Дата: Четверг, 05.09.2019, 08:04 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 5965
Репутация: 927 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
DAN123, - Прочитайте Правила форума
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
СообщениеDAN123, - Прочитайте Правила форума
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума

Автор - китин
Дата добавления - 05.09.2019 в 08:04
bmv98rus Дата: Четверг, 05.09.2019, 13:26 | Сообщение № 3
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2780
Репутация: 479 ±
Замечаний: 0% ±

Excel 2013/2016
у вас еще ошибки есть но не суть
[vba]
Код
        For i = 1 To UBound(NameSh, 2)
            r = 1
            If i > wb.Worksheets.Count Then Worksheets.Add After:=wb.Sheets(i - 1)    'ïðîâåðÿåì åñòü ëè åù¸ ñâîáîäíûå ëèñòû
            Sheets(i).Name = Left(NameSh(1, i), 20)
               r = r + 1

        Next i
[/vba]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеу вас еще ошибки есть но не суть
[vba]
Код
        For i = 1 To UBound(NameSh, 2)
            r = 1
            If i > wb.Worksheets.Count Then Worksheets.Add After:=wb.Sheets(i - 1)    'ïðîâåðÿåì åñòü ëè åù¸ ñâîáîäíûå ëèñòû
            Sheets(i).Name = Left(NameSh(1, i), 20)
               r = r + 1

        Next i
[/vba]

Автор - bmv98rus
Дата добавления - 05.09.2019 в 13:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Имя листов из диапозона ячеек, более 31 символа (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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