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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.11.2008, 09:20   #1
nadenenko_s
Пользователь
 
Регистрация: 22.11.2008
Сообщений: 10
Смущение перенос листа с сортировкой по признаку

Уважаемые форумчене, доброе время суток!

Прошу Вашей помощи!
Есть таблица с заказами по регионам. Уже третий день ломаю голову, не могу реализовать задумку: автоматически переносить данные с основного листа на другие. Перенос должен осуществляться по признаку вероятности. При этом долна сохраняться разбивка по регонам (важно!).
Не могли б направить на путь истинный. Может где то описывался похожий случай, или какими функциями надо пользоваться.

Прошу не судить строго!

Заранее спасибо за помощь.

С уважением.
Вложения
Тип файла: rar Прогноз заказов.rar (7.7 Кб, 14 просмотров)
nadenenko_s вне форума
Старый 23.11.2008, 11:33   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

несколько вопросов:
1. куда относить 70% к 50-70 или 70-100?
2. на какой лист нести 30% или просто проигнорировать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 23.11.2008, 11:48   #3
nadenenko_s
Пользователь
 
Регистрация: 22.11.2008
Сообщений: 10
По умолчанию

Спасибо за желание помочь
1. 70 относим на оба листа, т.е. оба листа включают крайние значения.
2. 30 % игнорируем, они остануться на общем листе заказов
nadenenko_s вне форума
Старый 23.11.2008, 12:09   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Вот один из вариантов решения задачи:

Запустите макрос Main

Только кое-что я не учёл...

В формулах указаны ссылки типа =СУММ(R[-13]C:R[-1]C)

После удаления отдельных строк вычисления происходили некорректно,
поэтому я копировал всё, кроме формул.

Но, если подправить формулы (в формулах я совсем не разбираюсь, так что это не ко мне), можно будет заменить код

Код:
    sh_main.UsedRange.Copy
    sh_70.Range("a1").PasteSpecial xlPasteFormats
    sh_70.Range("a1").PasteSpecial xlPasteColumnWidths
    sh_70.Range("a1").PasteSpecial xlPasteValuesAndNumberFormats

    sh_100.Range("a1").PasteSpecial xlPasteFormats
    sh_100.Range("a1").PasteSpecial xlPasteColumnWidths
    sh_100.Range("a1").PasteSpecial xlPasteValuesAndNumberFormats
на код

Код:
 
    sh_main.UsedRange.Copy
    sh_70.Range("a1").PasteSpecial xlPasteAll
    sh_100.Range("a1").PasteSpecial xlPasteAll
и на сформированных листах будут верные значения сумм.
Вложения
Тип файла: rar Прогноз заказов.rar (14.4 Кб, 16 просмотров)

Последний раз редактировалось EducatedFool; 23.11.2008 в 12:22.
EducatedFool вне форума
Старый 23.11.2008, 12:20   #5
nadenenko_s
Пользователь
 
Регистрация: 22.11.2008
Сообщений: 10
По умолчанию

УРАА!!!!
Огромное спасибо!!
Это то что надо!!!.

Есть еще один маленький вопросик!
Можно ли как то сделатьтак, чтоб при запуске файла всплывало информативное окно. (дело в том, что эта таблица будет лежать в сети, и ей будут пользоваться много людей)
nadenenko_s вне форума
Старый 23.11.2008, 12:27   #6
nadenenko_s
Пользователь
 
Регистрация: 22.11.2008
Сообщений: 10
По умолчанию

Спасибо за предложенное решение!!!
Скажите, а можно как то реализовать, чтоб на листах с вероятностью считало именно то, что отсеяно?
И еще, почему то послередактирования основного листа, и запуска макроса, листы с вероятностями не обновляются и остаются со старыми данными. Это как то можно вылечить?
nadenenko_s вне форума
Старый 23.11.2008, 12:30   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Можно ли как то сделать так, чтоб при запуске файла всплывало информативное окно
Можно.

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

Если Вы подробно распишите, что это окно должно из себя преставлять, и на основе каких данных формироваться, - сделаем.
EducatedFool вне форума
Старый 23.11.2008, 12:36   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
И еще, почему то послередактирования основного листа, и запуска макроса, листы с вероятностями не обновляются и остаются со старыми данными. Это как то можно вылечить?
Почему не обновляются? Проверил, обновляются.

При запуске макроса происходит полное удаление данных с листа.
Для этого предусмотрена строка sh_70.UsedRange.Clear: sh_100.Cells.Clear

После этого происходит повторное заполнение листов.

Цитата:
Скажите, а можно как то реализовать, чтоб на листах с вероятностью считало именно то, что отсеяно?
Можно. Например, назначить имена диапазонам ячеек, и вместо суммы диапазона (R[-13]C:R[-1]C) считать суммы именованных диапазонов.

Наверняка, есть несколько других, более простых вариантов.
Но это вопрос к специалисту по формулам - IgorGO

Последний раз редактировалось EducatedFool; 23.11.2008 в 12:53.
EducatedFool вне форума
Старый 23.11.2008, 12:51   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Можно и по-другому - не удалять лишние строки, а обнулять значения в них, и устанавливать высоту строки в 0.
Тогда и нынешние формулы будут работать, и лишних строк видно не будет.

Вот теперь всё корректно считается:
Вложения
Тип файла: rar Прогноз заказов 2.rar (17.5 Кб, 12 просмотров)

Последний раз редактировалось EducatedFool; 23.11.2008 в 13:07.
EducatedFool вне форума
Старый 23.11.2008, 12:54   #10
nadenenko_s
Пользователь
 
Регистрация: 22.11.2008
Сообщений: 10
По умолчанию

EducatedFool, огромное спасибо!
Поменял код, как Вы писали в сообщении №4.
На листе с верояностями 50-70% все просто великоллепно, на 71-100% не считает сумму на этом листе, буду пробовать дальше!!

По поводу всплывающего окна:
Идея такова.
Таблища будет лежать в сети, ее заполняют сотрудники отдела, каждый вносит свои изменения и сохраняет, но может статься так, что начальство откроет таблицу, но не запустит макрос, и на листах 50-70% и 71-100% будет отображаться старая информация.
Хотелось сделать, чтоб при запуске всплывала окошко "запусти макрос" и кнопка "ОК".
nadenenko_s вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический перенос данных из общего листа в другие InvoiceControl Microsoft Office Excel 3 02.10.2008 13:21
Excel-перенос иформации с одного листа в другой согласно условия ЛюдмилаЗ Microsoft Office Excel 2 28.05.2008 12:38
Помогите с сортировкой radist Паскаль, Turbo Pascal, PascalABC.NET 5 23.04.2007 12:50