Страницы: 1 2 След.
RSS
[ Закрыто ] Создание новых листов с автоматически заданным именем
 
Уважаемые гуру эксцелеводства!!!

Одарите неофита светом мудрости и помогите облегчить непосильный труд составителя граФИГков рабочего времени и повелителя табелей учета того же, единоутробного, рабочего времени!?!

подскажите пожалуйста

Можно ли стандартными средствами(используя формулы, команды) эксцеля(или что-нибудь ещё не очень сложное для понимания) СКОПИРОВАТЬ имеющийся образцовый лист - на новый лист с названием содержащим наименования подразделения, месяца и года(взятых из образцового листа)???

На образцовом листе графика работ есть поля для ввода номера месяца, года, названия подразделения.
Идея(мечта) заключается в разработке механизма создания на базе введенной на образцовом листе информации нового листа с названием в формате "Наименование подразделения_Месяц_Год".
К примеру, заполнив таблицу на образцовом листе , нажимаем на кнопку "Создать лист графика работы"... и .... ву а ля!!! в эксцелекниге появился новый лист с нужным названием и скопированной ИЗ ИСХОДНОГО образцового листа информацией...

зы: файлик примера около 2Мб сюда не загружается ввиду избыточного веса... или роста...
Изменено: r_edkij - 31.07.2019 00:24:58 (поправил во избежание неверного толкования)
 
доброй ночи. "Облегчите" файл, удалите ненужные данные, сократите и приложите пример. А так... -  "переместить/скопировать лист"  
Изменено: Настя_Nastya - 30.07.2019 00:21:46
 
Можно так:
Код
Sub t()
    x = Sheets(1).Cells(3, 4) & "_" & MonthName(Sheets(1).Cells(4, 4)) & "_" & Sheets(1).Cells(5, 4)
    y = ThisWorkbook.Sheets.Count
        For i = 1 To y
            If Worksheets(i).Name = x Then
                MsgBox "Лист с таким именем уже существует!", vbCritical
                Exit Sub
            End If
        Next
    Sheets.Add(, Worksheets(y)).Name = x
    Sheets(1).Select
End Sub
 
И незабываем про ограничение длины имени листа!
Также кросс
Изменено: БМВ - 30.07.2019 08:54:54
По вопросам из тем форума, личку не читаю.
 
GRIM, Вот что-то подобное я и имел ....  в виду.
Только, ИЗВИНЯЙТЕ , не совсем верно описал задачу.

Исходный лист(из которого копируется с переименованием нужный лист) называется Grafik_Obrazec
На нем в ячейке Q3 выбирается из выпадающего списка наименование подразделения
На нем же в ячейке C4 задается номер месяца, а в ячейке  C3 - номер года
В итоге лист Grafik_Obrazec, с заполненными данными, должен по "нажатию кнопки" скопироваться в лист с названием "ККТ_7_2019"
где ККТ - наименование подразделения, 7 - номер месяца, 2019 - год

После чего сделать полученный лист текущим.
 
Цитата
r_edkij написал:
лист Grafik_Obrazec, с заполненными данными, должен по "нажатию кнопки" скопироваться в лист...
Не может лист копироваться в лист.
 
Юрий М, ну, видимо, лист-образец копируется с переименованием с заданным форматом имени

поразбирался с примером глубокоуважаемого GRIM
похоже что он работает так как надо...
ОГРОМНОЕ НЕЧЕЛОВЕЧЕСКОЕ МЕРСИ!!!

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

Цитата
x = Sheets(1).Cells(3, 4) & "_" & MonthName(Sheets(1).Cells(4, 3)) & "_" & Sheets(1).Cells(3, 3)
не могли бы вы пояснить что есть Sheets(1)? Это ведь надо заменить названием Листа-образца? И что за параметр в скобках? Это не порядковый номер листа в книге?
и что есть Cells(4, 3)? Как я понял это указание на ячейку с данными в 3 строке, 4 столбце на листе?
Изменено: r_edkij - 30.07.2019 22:35:33 (надо)
 
Sheets("Grafik_Obrazec").Cells(4,3)  - ячейка в четвертой строке и третьем столбце на листе "Grafik_Obrazec"
 
Цитата
r_edkij написал:
не могли бы вы пояснить что есть Sheets(1)?
Это самый первый лист.
 
_Igor_61, Спасибо! Все заработало!!!
 
_Igor_61, А не подскажете как изменить последнюю строку,
Цитата
Sheets("Grafik_Obrazec").Select
что бы активным сделать созданный лист, а не лист-образец?
возможно каким-то образом можно использовать переменную x?
Изменено: r_edkij - 30.07.2019 20:25:03
 
В ней и содержится имя листа.  Sheets(x).Select
 
_Igor_61,  Это ПРЕКРАСНО!!!
НО!
у меня создается лист с нужным именем, но туда НЕ копируется все с листа-образца, а смысл этих "танцев с бубном" как-раз в том что все что набрано и посчитано в образце - должно сохраниться на новом листе
 
Ну так и покажите в файле, что именно там у Вас творится - кто откуда знает?.
Цитата
Настя_Nastya написал:
"Облегчите" файл, удалите ненужные данные, сократите и приложите пример
 
_Igor_61, Не могу ужать до 100к
меньше 150 никак не получается
 
r_edkij, пожалуйста, перечитайте правила.
 
Перечитал... 300 - лучше чем 100  :D

Какой-то глюк поймал мой эксцел.
Чем больше удаляю из файла листов, строк и пр, тем больше становится размер файла :qstn:
Не знаю что произошло, но файлик который я кастрировал до 150кБ сейчас, почему-то весит около 4Мб
 
хрень какая-то нездоровая!
поубирал всякие календари и пр фичи с украшалками
оставил 2 листа с малюсенькими табличками и они весят 2241кБ !!!
пробовал сохранить в файл без поддержки макросов, не помогает.. все-равно 2234кБ.
не может какая-нибудь ВБАшная байда нагружать файл примера?
и как от неё избавиться?
Изменено: r_edkij - 30.07.2019 23:45:55
 
Зачем Вы каждое предложение отделяете пустой строкой?! Да еще предложения рвете...
 
vikttur,это, наверно, от нервов.
а в этом есть какой-то криминал?
 
Тама останется в помощь другим, а Вы бардак разводите. Вспомните, как учили в школе правильно писать и приведите сообщение в порядок.
 
Юрий М,кстати сказать!
при попытке загрузить файлик меня похабно обругали красным треугольником с восклицательным знаком и сообщением "Загружаемые файлы не должны быть размером более 100 Кб.". Какое-то трагическое несовпадение с пунктом 2.3 вышеупомянутых... ПРАВИЛ
 
edkij,
у Вас 2 варианта:
1. сделать файл и выгрузить его сюда с надеждой, что кто-то что-то в нем поймет и поможет
2. не нужно ничего готовить, не нужно ничего никуда грузить, разбираетесь со своими данными самостоятельно до полного удовлетворения
Вы свободный мыслящий человек и сами можете решить как Вам действовать в данной ситуации. удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, зачем ЭТО сюда написано? высокопарная трансляция ОЧЕВИДНЫХ утверждений - пустопорожний флейм.
 
именно с этой целью
удачи в решении задачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Offtop
Цитата
r_edkij написал:
трансляция ОЧЕВИДНЫХ утверждений - пустопорожний флейм
Правильно ли я понимаю, что вот это
Цитата

[QUOTE]r_edkij написал:
Одарите неофита светом мудрости и помогите облегчить непосильный труд составителя граФИГков рабочего времени и повелителя табелей учета того же, единоутробного, рабочего времени!?!
Цитата
r_edkij написал:
ОсЯтите знанием....
Цитата
r_edkij написал:
попал в засаду собственной некомпетентности ... что-то у меня, пока,
Настолько нужное для постановки задачи, что никак не обойтись?
 
Андрей VG,вы бы по теме что-то полезное изрекли, а не занимались перевоспитанием дяденьки с давно седыми тастикулами.
 
А Вы не задумывались, почему другие взрослые дяденьки так отвечают? Может быть, не в них проблема?
После сообщения №10 тема закрыта. Об изменении активного листа - не по теме.
 
vikttur,задумывался конечно! ИМХО у многих банально-непреодолимое, перманентное желание поучать и воспитывать окружающих. Ибо по делу и по-существу ответили три комментатора. Которые, кстати, претензий к стилю изложения вопроса не имели. Им - ОГРОМНОЕ спасибо и прочие респекты.  Ну и модераторы, понятно, блюли порядок. А остальные что тут делали мне не очень понятно. Нафига в теме по VBA заниматься обсуждением лексики, грамматики правописания и пр. синтаксисов разговорной речи? Я, честно говоря, как любитель словесности и тонкий ценитель русского языка, с трудом удерживал себя от ненормативных аргументов.
 
vikttur, как не по-теме? Это как-раз вопрос по последней строке предложенного макроса.
Страницы: 1 2 След.
Наверх