Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
[VBA] создание листов с именами из значений ячеек
 
Добрый день.
помогите пожалуйста с написанием макроса.

есть лист1. в нем таблица с объединенными ячейками в 1ой колонке.
как
1) взять все уникальные значения из 1ого столбца вкладки лист1 и создать новые листы, присваивая каждому из них поочередно имена объединенных ячеек из 1 колонки
2) скопировать в каждую вкладку кусок таблицы с одноименной ячейкой

пример прикладываю, там все более понятно, чем я описываю )
зеленые вкладки - это те вкладки, которые должны создаваться в процессе работы макроса.

*P.S. значительно изменился сайт, нравится.
только вот регистрационные данные что-т не подходят. пришлось заново зарегенится
caustic
caustic
 
Проверяйте.
 
спасибо вам! все работает четко как часы и ваш новый сайт со смайлами   :)
caustic
 
Юрий М
Sheets.Add(, After:=Sheets(Sheets.Count)

Зачем запятая? Ведь аргумент именованный! :)
There is no knowledge that is not power
 
Цитата
Johny пишет:
Зачем запятая? Ведь аргумент именованный! :)
Копировал строку - остался незамеченный мусор ))
 
:)
There is no knowledge that is not power
 
коллеги,
бывает такое, что значения дублируются в 1ой колоне, вследствии чего появляется ошибка, ибо имя каждой вкладки должно быть уникальным.

как сделать так, чтоб попадании на дубликат, имя вкладки было бы "значение ячейки" + какой нить символ ("_1", "_2", "_3" ;)
Изменено: Сaustic - 24 Дек 2012 12:25:39
caustic
 
Самый простой вариант: добавить переменную-счётчик, и соединять с именем. Правда, тогда все листы, независимо от того - дубликат или нет, будут иметь кроме имени ещё и номер.
 
я еще думал проверить колонку на дубликаты в значениях, перед тем как выполнять макрос выше:
только малец не догоняю как поменять имя у дубликата, помогите разобраться пожалуйста
Код
Sub Dubli()
    totalrows = ActiveSheet.Columns(1).Rows.Count
    For Row = totalrows To 2 Step -1
        If Cells(Row, 1).Value = Cells(Row - 1, 1).Value Then
            Cells(Row, 1).Value = Cells(Row, 1).Value & "baas"
        End If
    Next Row
End Sub
caustic
 
ОФФ
Цитата
Сaustic пишет:
все работает четко как часы и ваш новый сайт со смайлами :)
Скрытый текст
Я сам - дурнее всякого примера! ...
 
Думаю, чтобы корректно обработать множественные повторения, делать надо как-то так - см.вложение.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
А как скопировать больший диапазон, если в строке заполнены данные вплоть до 65 ячейки?! И если возможность заполнять листы с разных файлов (есть заполненная таблица с данными по разным месяцам, нужно построить динамику, таким образом что бы листы заполнялись данными из разных файлов)? Что то намудрил, но возможно это решаемо. Заранее благодарен.
Изменено: polysster - 17 Мар 2014 23:39:36
Страницы: 1
Читают тему (гостей: 1)
Наверх