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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.07.2008, 09:15   #21
rf_dru
Пользователь
 
Регистрация: 30.06.2008
Сообщений: 22
По умолчанию

спасибо огромное, сейчас попробую
rf_dru вне форума
Старый 03.07.2008, 09:42   #22
rf_dru
Пользователь
 
Регистрация: 30.06.2008
Сообщений: 22
По умолчанию

Еще пару вопросов можно?
1. Как полностью экспортировать все что Вы сделали?
2. Можно ли добавить в макрос, чтобы в таблицу статистики (11111.xls), там где нет цифр, подставлялись нули, а не просто были пустые ячейки ?
rf_dru вне форума
Старый 03.07.2008, 11:48   #23
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1) В приложенном файле "123123.xls" войти в VBE, в окне проекта, нажать на UserForm1 правую кнопку мыши, затем - Export - сохраните где-нибудь (так же и с Module1). Открыть Ваш файл, .... - Import - загрузите то, что сохраняли.
2) В модуле формы строку кода
Код:
.Range(.Cells(r + 4, "B"), .Cells(r + 10, "P")).ClearContents
замените на
Код:
.Range(.Cells(r + 4, "B"), .Cells(r + 10, "P")) = 0
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 03.07.2008, 12:31   #24
rf_dru
Пользователь
 
Регистрация: 30.06.2008
Сообщений: 22
По умолчанию

Великий мастер!!! Я снимаю шляпу!!!
Никогда такого не видел. Ничего понять с первого взгляда не могу!
Буду разбираться, если Вы не против, то я еще чуть позже обращусь к Вам за помощью.
Спасибо огромное, завтра как раз статистику надо будет делать.
rf_dru вне форума
Старый 03.07.2008, 13:16   #25
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Я всегда приветствую, когда человек пытается разобраться.
Что не понятно - спрашивайте.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 03.07.2008, 13:55   #26
rf_dru
Пользователь
 
Регистрация: 30.06.2008
Сообщений: 22
По умолчанию

Мастер еще вопросы:
1. Я специально проверил, как макрос реагирует на конец периода, не так как надо. У меня висит закрытая заявка, он считает ее открытой.
2. Столбцы все перепутаны местами.
rf_dru вне форума
Старый 03.07.2008, 14:08   #27
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1) В самом конце кода есть строка
Код:
If Cells(i, "K") = Sheets(1).Range("G2") Then .Cells(r + 9, sdv) = .Cells(r + 9, sdv) + 1
которая означает, что если значение ячейки обрабатываемой (текущей) строки столбца "K" файла "123123.xls" на листе 2 равна значению ячейки "G2" листа 1 этого же файла ("выполнен"), то к уже имеющемуся значению количества выполненных прибавляется единица. И т.д. Не так нужно?
2)
Цитата:
Столбцы все перепутаны местами.
Где? У кого? Какие? У Вас в файле должно быть полное соответствие столбцов с предлагаемым файлом. Иначе - ..........
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 03.07.2008, 14:30   #28
rf_dru
Пользователь
 
Регистрация: 30.06.2008
Сообщений: 22
По умолчанию

Условие маленько сложнее.
Есть такие статусы:
выполнен - закрыта
см. СЭДД - не закрыта
отложена … - не закрыта
отменен - закрыта
в работе - не закрыта
на изменении - не закрыта
невозможно выполнить - закрыта
выполнена в обход - закрыта

А ячейка G2, это только один из способов закрытия (выполнено), надо несколько статусов учитывать как закрывающих заявку.
rf_dru вне форума
Старый 03.07.2008, 14:40   #29
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ну, так какие проблемы? Поменяйте строку
Код:
If Cells(i, "K") = Sheets(1).Range("G2") Then .Cells(r + 9, sdv) = .Cells(r + 9, sdv) + 1
(о которой я уже говорил) на строку
Код:
If Cells(i, "K") = Sheets(1).[G2] Or Cells(i, "K") = Sheets(1).[G5] _
            Or Cells(i, "K") = Sheets(1).[G8] Or Cells(i, "K") = Sheets(1).[G9] _
            Then .Cells(r + 9, sdv) = .Cells(r + 9, sdv) + 1
Где [G2], [G5], [G8], [G9] - это значения соответствующих ячеек на листе 1. Поэтому, оговариваю, что введенные Вами данные на листе 1 - используются при обработке. Менять их нельзя.

А что с "перепутанными" столбцами?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 03.07.2008, 16:00   #30
rf_dru
Пользователь
 
Регистрация: 30.06.2008
Сообщений: 22
По умолчанию

а временной интервал?
заявка закрывается если у ней выставлены вышеперечисленные статусы, но еще надо учитывать конечное время задаваемого интервала.
специально задал интервал 03.06.08 08:00 по 04.06.08 12:00 а заявку закрыл 05.06.08 12:00.
Макрос посмотрел статусы, пометил как закрытую заявку и посчитал ее.
а у нас статистику берут за неделю ровно. В файле 11111.xls было написано кол-во закрытых за неделю и оставшихся открытыми, подразумевается тоже за неделю.
Можно еще немного поправить.
P.S. Мне завтра в 15.00 по нашему времени уже надо будет считать статистику. Время Москва + 3 ч.

Заранее большое спасибо.
rf_dru вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как привязать макрос к дате? АLексаNдр Microsoft Office Excel 3 12.08.2008 14:34
помогите, пожалуйсто, написать макрос для excel bacalavr Microsoft Office Excel 2 04.04.2008 11:39
Отслеживание изменений(по времени и дате) Ксеноцид Общие вопросы Delphi 6 01.04.2008 10:59
Ошибка в сортировке Veiron Общие вопросы Delphi 14 21.01.2008 21:35
Работа с String Grid - помогите написать "Табель рабочего времени" Deicider Помощь студентам 3 29.11.2006 20:59