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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2013, 10:10   #1
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию Собрать данные

Имеется книга Excel из 13 листов
Первый сводный и 12 - это месяцы года
На 2-13 листах макросом проставлены значения, взяты из другого файла
То есть, имеются пустые строки в листах 2-13
Что желаю :
Научиться составить макрос, который делает следующее
Лист сводный, ячейка B17 ,принимает значение появившееся первым на листе 01 (январь)
Лист сводный, ячейка B18 ,принимает значение появившееся вторым на листе 01 (январь)
Лист сводный, ячейка Bxx , (январь кончился к примеру) ,принимает значение первое на листе 02 (февраль)
kzld вне форума Ответить с цитированием
Старый 06.01.2013, 17:48   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Что желаю :
Научиться составить макрос ...
Цитата:
Сообщений: 438
Научитесь читать правила раздела - там сказано, что надо прикреплять пример файла Excel
Откуда нам знать, какая там структура данных, на листах типа «01 (январь)»...

Будет файл - будет решение.

И зачем макрос? Чем формулы не устраивают?
EducatedFool вне форума Ответить с цитированием
Старый 07.01.2013, 09:06   #3
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Будет файл - будет решение.
И зачем макрос? Чем формулы не устраивают?
Файл прилагаю. Формулами думаю не получится. На листе 650 строк и три столбца. Более 2000 формул. Полагаю, что EXCEL будет тормозить
Вложения
Тип файла: rar 100.00.030_registr.rar (344.1 Кб, 11 просмотров)
kzld вне форума Ответить с цитированием
Старый 08.01.2013, 12:01   #4
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

если правильно понял:
пробуйте

Код:
Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub Find_()
Dim arr1, arr2, arr3, n As Long, i As Long, sh As Worksheet, t
If MsgBox("Произвести поиск данных?", 32 & vbYesNo, "ПОИСК") = vbNo Then Exit Sub
Application.ScreenUpdating = False
t = GetTickCount
Range("D17:R7791").ClearContents
Range("AA17:AA7791").ClearContents
arr1 = Range("D17:R7791").Value
arr3 = Range("AA17:AA7791").Value
For Each sh In ThisWorkbook.Worksheets
    If sh.Name <> ActiveSheet.Name Then
        arr2 = sh.Range("E17:S664").Value
        For i = 1 To UBound(arr2)
            If arr2(i, 1) > 0 Then
                n = n + 1: arr1(n, 1) = arr2(i, 1): arr1(n, 9) = arr2(i, 9): arr3(n, 1) = "Лист " & sh.Name & "|" & " номер " & i
            End If
        Next i
    End If
Next sh
[D17].Resize(n, 9).Value = arr1
[AA17].Resize(n, 1).Value = arr3
MsgBox "Затрпчено времени на поиск данных: " & (GetTickCount - t) / 1000, vbInformation, "ГОТОВО"
Application.ScreenUpdating = True
End Sub
Вложения
Тип файла: rar 100.00.030_registr.rar (348.1 Кб, 16 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 08.01.2013, 12:58   #5
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от staniiislav Посмотреть сообщение
если правильно понял:
пробуйте
Спасибо, то что нужно
kzld вне форума Ответить с цитированием
Старый 13.01.2013, 13:14   #6
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 625
По умолчанию

Цитата:
Сообщение от staniiislav Посмотреть сообщение
если правильно понял:
пробуйте
А как дополнить макрос, что бы он еще и сумму "подхватывал" и вставлял в соответствующее поле, в столбец T
kzld вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Собрать данные с нескольких листов и книг dana11 Microsoft Office Excel 14 20.01.2012 16:15
Собрать данные ячеек из листов chempionnn Microsoft Office Excel 5 28.12.2011 16:22
Собрать данные не используя сводную таблицу sanych_09 Microsoft Office Excel 4 09.02.2011 14:09
Не могу собрать данные из XML Linel JavaScript, Ajax 4 27.12.2010 22:21
Как собрать данные из листов asas2010 Microsoft Office Excel 3 30.03.2010 08:59