Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2010, 18:16   #1
Машуля
Пользователь
 
Аватар для Машуля
 
Регистрация: 03.01.2008
Сообщений: 17
Подмигивание Формирование таблицы на основе данных с другого листа

Здравствуйте!

Суть моей проблемы заключается в следующем:

В книге существует лист "Расчет", который содержит расчет часов по кафедре (за 2 семестра). На основании данных из этого листа формируются Выписки (лист "выписка") по каждой группе в отдельности.

Передо мной стоит задача: автоматизировать процесс формирования выписок.

Обозначения: 1з, 2з - 1 и 2 семестр заочной формы обучения, 1о и 2о - 1 и 2 семестр очной формы обучения.

Все исходные данные для формирования выписок находятся на листе "Расчет". Все выписки должны располагаться на одном листе.

Опыт работы с Excel у меня небольшой, в связи с этим возникают трудности. Прошу помощи: с чего мне начать? Хотя бы общий "план действий", в нескольких словах.

Заранее благодарна!
Вложения
Тип файла: zip nagruzka.zip (44.0 Кб, 31 просмотров)
Машуля вне форума Ответить с цитированием
Старый 05.03.2010, 23:42   #2
soulcub
 
Регистрация: 05.03.2010
Сообщений: 3
По умолчанию

Ну.. С чего начать.. Во-первых есть чудесный метод, с которым с помощью цыкла можно бегать по всем листам, открытым в Екселе
Код:
Sub Test()
    Dim x As Integer
    For x = 1 To Application.Workbooks.Count
        Application.Workbooks(x).Activate
    Next x
End Sub
Данный цыкл пробегает и активирует все книги, открытые в екселе.. Если у вас есть какие-то ячейки, которые по-любому есть в книге, на которую нужно перескочить, то ничто не мешает сделать иф, который будет проверять если ли то или иное значение в той или иной ячейке(Если да, значит это та книга что Вам нужна)
Когда найдёте нужную книгу, просто читайте нужную информацию в макрос, формируйте что нужно и таким же способом перебегайте на другую книгу и вставляйте данные. Всё просто.
soulcub вне форума Ответить с цитированием
Старый 06.03.2010, 02:24   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я бы на дополнительном листе составил расписание ,чтобы в столбике С присутствовала 1 группа(нажимаем кнопку)
Далее при помощи фильтров можно фильтровать в ручном режиме группы и семестры.Если еще надо автоматизировать,можно продолжить
Вложения
Тип файла: rar nagruzka.rar (44.9 Кб, 22 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.03.2010, 04:44   #4
Машуля
Пользователь
 
Аватар для Машуля
 
Регистрация: 03.01.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Я бы на дополнительном листе составил расписание ,чтобы в столбике С присутствовала 1 группа(нажимаем кнопку)
Далее при помощи фильтров можно фильтровать в ручном режиме группы и семестры.Если еще надо автоматизировать,можно продолжить
Спасибо Doober! На листе "расчет" в столбике С, где стоят одновременно 2 группы, следует считать их как за одну, т. к. нет смысла их разделять, так как у них предметы и часы совпадают. И надобность в дополнительном листе отпадает.

Нужна такая кнопка, при нажатии на которую содержимое листа "выписка" формировалось именно в таком виде, в котором оно есть, чтобы не надо было вручную фильтровать, затем копировать, затем вставлять.
Машуля вне форума Ответить с цитированием
Старый 06.03.2010, 04:51   #5
Машуля
Пользователь
 
Аватар для Машуля
 
Регистрация: 03.01.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от soulcub Посмотреть сообщение
Ну.. С чего начать.. Во-первых есть чудесный метод, с которым с помощью цыкла можно бегать по всем листам, открытым в Екселе
Код:
Sub Test()
    Dim x As Integer
    For x = 1 To Application.Workbooks.Count
        Application.Workbooks(x).Activate
    Next x
End Sub
Данный цыкл пробегает и активирует все книги, открытые в екселе.. Если у вас есть какие-то ячейки, которые по-любому есть в книге, на которую нужно перескочить, то ничто не мешает сделать иф, который будет проверять если ли то или иное значение в той или иной ячейке(Если да, значит это та книга что Вам нужна)
Когда найдёте нужную книгу, просто читайте нужную информацию в макрос, формируйте что нужно и таким же способом перебегайте на другую книгу и вставляйте данные. Всё просто.
Спасибо за совет конечно, но в данном случае я работаю с одной книгой в которой 2 листа.
Машуля вне форума Ответить с цитированием
Старый 06.03.2010, 13:01   #6
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

При беглом просмотре несколько вопросов:
1. Предоставлены "Расчёт" и "Выписка" соответствуют друг другу?Группа БЗИС-21с в "Выписка"
Основы эк.теории - такого нет в "Расчёт"
Сразу пропадает желание смотреть дальше
2. Строка 275 в "Расчёт" "Зав.кафедрой Декан
Дальше продолжение таблицы? Так инадо? После 275 строки данные учитывать?
3. В "Выписке" по группам: Осенний - весенний семестры.
В расчётах только Осенний

Для конкретного ответа нужны правльные исходные данные и образц желаемого результата

А воспользоваться макрорекордером вера не позволяет?
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru

Последний раз редактировалось alex77755; 06.03.2010 в 16:38.
alex77755 вне форума Ответить с цитированием
Старый 06.03.2010, 16:42   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Ответа не поступило. Поэтому последние 8 строк не берутся к учёту
Вложения
Тип файла: rar nagruzka2.rar (85.8 Кб, 46 просмотров)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 07.03.2010, 08:00   #8
Машуля
Пользователь
 
Аватар для Машуля
 
Регистрация: 03.01.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Ответа не поступило. Поэтому последние 8 строк не берутся к учёту
Спасибо Вам большое! Это именно то, что было нужно!
Машуля вне форума Ответить с цитированием
Старый 08.03.2010, 04:56   #9
Каравай
Пользователь
 
Регистрация: 16.02.2010
Сообщений: 34
По умолчанию

Пролистал штук десять-пятнадцать тем, но не нашёл ответа, хотя таких тем - через одну. Вопрос простой - взять весь столбец С и копировать из него в столбец D данные по условию в виде списка. Допустим С1 подходит - копируется в Д1, С2-37 не подходит - пропускает, С38 подходит - копируется в Д2 и так далее. Дело в том, что нужные данные в столбце С могут располагаться в любом порядке.
Есть ли простой способ решения? Примера нет, точнее - чистый лист.
Каравай вне форума Ответить с цитированием
Старый 08.03.2010, 11:11   #10
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

1. Решение всегда есть.
2
Цитата:
Примера нет, точнее - чистый лист.
Если вы сами не можете составить пример ,то нам и бубен не поможет понять,что конкретно надо делать.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формирование документа Word на основе данных Excel gaevoy1 Microsoft Office Excel 10 11.04.2011 12:05
формирование новой таблицы на основе исходной azov Microsoft Office Excel 2 18.07.2009 22:38
Создать файл с данными на основе другого файла. Паскаль)) ТРОЯН=) Помощь студентам 13 16.04.2009 18:51
Автоматическое заполнение данных из другого листа usgaz@list.ru Microsoft Office Excel 8 17.10.2008 10:41
Создание новой таблицы на основе данных koda Microsoft Office Excel 2 06.08.2008 18:53