![]() |
Модераторы: mihanik |
![]() ![]() ![]() |
|
Mrak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 16.10.2004 Репутация: нет Всего: 5 |
Постановка задачи.
Есть документ в Excel, в котором 6 листов. Предположим, что названия стандартные: Лист1…..Лист 6. У каждого листа одинаковая шапка № п/п Задача Дата Выполнено (A) (B) (С) (D) В поле выполнено будет записываться или «да» или «нет» У нас есть второй документ с таким же порядком листов – этот документ называется архив. Суть задачи. При открытии файла нужно, чтобы проверялось поле выполнено в каждой строчке таблицы каждого листа. Если в нем уже написано «да», то строка таблицы должна вырезаться и вставляться в первую свободную строку в файл архив на соответствующий лист, т.е. на лист, имеющий то же название, что и исходный, но находящийся в другой книге (Архив). Если поле «Выполнено» написано «нет», то нужно проверить, меньше ли дата, в поле «Дата» сегодняшней даты. Если это верно, то выделить красным строку. Реализация. В принципе примерное представление о том как делать есть. Но работа со строками не совсем ясна. Как лучше это организовать? Помогите пожалуйста, разобраться в этом. Заранее спасибо. |
|||
|
||||
shovkoplyas |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 24.3.2006 Где: Украина, г.Северо донецк Репутация: 3 Всего: 3 |
Становимся на ячейку флажка Меню-Формат-Условное форматирование Выбираем Формула и пишем =C1<СЕГОДНЯ() 'под C1 подразумеваем ячейку даной строки с датой Теперь нажимаете кнопку Формат и устанавливаем красный цвет шрифта или фона и так для всех ячеек, если недостаточно подсвечивать ячейку флажка
Примерно так. В чистовом виде можно зациклить для каждого листа и упростить код. |
||||||||||
|
|||||||||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
Примерно так
For list=1 to 6 For rng=2 to 500 If Лист(x).cells(rng, 4)="да" Then -------------------- Возмездие настигнет |
|||
|
||||
shovkoplyas |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 24.3.2006 Где: Украина, г.Северо донецк Репутация: 3 Всего: 3 |
Что такое:
в этом примере. |
|||
|
||||
Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
Извини описалась
![]()
-------------------- Возмездие настигнет |
|||
|
||||
Mrak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 16.10.2004 Репутация: нет Всего: 5 |
Надо попробовать, отпишусь о результатах.
![]() -------------------- Смерть - не противоположность жизни, а лишь ее часть. (Х. Мураками) |
|||
|
||||
Mrak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 16.10.2004 Репутация: нет Всего: 5 |
У меня был небольшой перерыв. Поэтому задачка замерла. Но теперь я к ней вернулся.
shovkoplyas, код хороший почти во всем, кроме строчки 12. Rows(1:1).Select. При следующем открытии книги будет возникать ошибка, по причине того, что эта строчка уже заполнена. Что с этим делать? То есть единственное, чего я не понял - как определить последнюю непустую ячейку, запомнить ее строку, преобразовать ее в тип, пригодный для Rows(). Заранее спасибо за помощь и разъяснения. Это сообщение отредактировал(а) Mrak - 15.5.2006, 20:57 -------------------- Смерть - не противоположность жизни, а лишь ее часть. (Х. Мураками) |
|||
|
||||
Artiom |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: 1 Всего: 17 |
Если у твоего файла регулярная структура (состоит только из таких строк) то можно использовать
max_row - номер последней используемой строки -------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
shovkoplyas |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 24.3.2006 Где: Украина, г.Северо донецк Репутация: 3 Всего: 3 |
||||
|
||||
Mrak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 16.10.2004 Репутация: нет Всего: 5 |
Все спасибо! Задача решена
![]() -------------------- Смерть - не противоположность жизни, а лишь ее часть. (Х. Мураками) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование, связанное с MS Office" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |