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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2011, 12:28   #1
lecko
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 43
Вопрос Создание новой книги, на основании массива данных

Здраствуйте. Передо мной начальство поствило задачу оптимизировать учет на работе. Принцып оптимизации я придумал, но как воплотить его в жизнь с помощю макросов Екселя я не совсем знаю. Может кто бы из Вас мог бы мне помочь? Отправляю 2 файла: первый - исходный, второй - тот, который создавался бы при нажатии в файле-программе соответсвующей кнопки.
Если можете, помогите, люди, кто чем может (например частью работы, или объясните что именно нужно подучить чтобы ето сделать).
Благодарю Вас.
Вложения
Тип файла: rar 1.rar (15.0 Кб, 22 просмотров)
Тип файла: rar 2.rar (5.1 Кб, 18 просмотров)
lecko вне форума Ответить с цитированием
Старый 06.10.2011, 14:03   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Похоже, что задача как родная для Access - база и отчёт на запросе.
Можно отчёт сделать и по данным Экселя.
Но если всё в Экселе, и так и будет - то на каждый год придётся свой xls делать (если раньше строки не закончатся), и тогда подбить общее по годам будет сложнее...
Если не перейти на 2007/10.

Для решения задачи мало информации - как и откуда берётся нужная дата?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 06.10.2011, 15:13   #3
lecko
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 43
По умолчанию

Возможно не совсем корректно высловился: первый файл уже готовый (как в школьных задачах - дано. Ету информацию я могу вытенуть из программы и преобразовать в ексель), второй, что хочеться получить на выходе (найти).
Нужная дата (для первого листа) береться с ячейки Е2, но без времени. В других листах обрабатываеться весь список из первого файла
lecko вне форума Ответить с цитированием
Старый 06.10.2011, 17:01   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Похоже, что задача как родная для Access - база и отчёт на запросе
Игорь прав на все 100.
Учите Access .но мжно и SQL запросом обойтись.
А если бы выгрузка из программы была в dbf файл.цены бы ей не было.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.10.2011, 19:32   #5
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
первый файл уже готовый (как в школьных задачах - дано. Ету информацию я могу вытенуть из программы и преобразовать в ексель)
Вопрос принципиальный. За какой период будут делаться эти вытяжки?
То есть сколько может быть записей в базе(файл1)?
Если как в примере - можно обойтись и макросом. Если же отчёт за год и записей миллионы - без SQL или Access - будет медленно
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 06.10.2011, 21:28   #6
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Заодно уточни, что должно быть в "Заїхало ТЗ протягом зміни"
Их общее количество(как в примере) или все автомобили " В ету колонку вписываються автомобили, которые заехали во время ..."
А то как то раслывчато
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 06.10.2011, 22:10   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

В принципе так должно работать достаточно быстро: массив для обработки останется небольшой. пока выделил массив по заехавшим автомобилям.
Условие не уточнил поэтому дальше не стал делать: На лист1 скопировал файл1.
Можно прописать открытие
Код:
Sub QWEER()
Dim M()
Dim J
Dim RNn As Range
Dim RNk As Range
Dim RRR As Range
Dim Dn As String
Dim Dk As String
 Dn = Лист2.Cells(5, 1).Value
 Dk = DateAdd("d", 1, Dn)
 Dn = Dn & " 8"
 Dk = Dk & " 8"
 
Dim Si As Worksheet
Set Si = Лист1

    Si.Columns("E:E").Select
  Set RNn = Selection.Find(What:=Dn, LookIn:=xlFormulas _
        , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
     Dn = RNn.Row
  Set RNk = Selection.Find(What:=Dk, LookIn:=xlFormulas _
        , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
     Dk = RNk.Row - 1
 Set RRR = Si.Range(Cells(Dn, 1), Cells(Dk, 11))
 M = RRR

For J = 1 To UBound(M)
'осталось обработать массифф
Next
End Sub
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 07.10.2011, 12:09   #8
lecko
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 43
По умолчанию

Благодарю Алекс, что откликнулись. Относительно Ваших вопросов:
1) Количество записей должно быть порядка 300-400, не милионы. Но Отправив Вам файлы, сделал ошибку: в дату ставиться не дата с ячейки Е2, а выставляеться окно с выбором даты в промежутках между Е2:Е.
2) "Заъхало ТЗ протягом змыни" ето количество (счетесли) автомобилей, за период по дате А5. Но смена начинаеться и закаанчиваеться в 8:00. Поетому, для примера, если дата 15.09.2011, то автомобили защитываються от 15.09.2011 8:00 до 16.09.2011 8:00.
lecko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание файла на основании открытого lecko Microsoft Office Excel 20 17.03.2011 12:53
сохранение новой книги без существующего макроса GanJa Microsoft Office Excel 2 25.03.2010 16:50
Создание книги и перенос данных листа в дргую несуществующюю книгу OgE®_M@G Microsoft Office Excel 23 13.11.2009 06:35
Создание новой таблицы на основе данных koda Microsoft Office Excel 2 06.08.2008 18:53
Создание новой записи Gerox БД в Delphi 3 30.12.2007 14:22