Страницы: 1
RSS
Выбор данных за определенную дату с листов книги
 
Необходима помощь в создании таблицы . В книге есть листы . каждый лист это состав определенного товара (изделия), так же там есть даты  изготовления и количество изготовленных комплектующих на эту дату. таких листов может быть 10-20шт. всего в документе может быть до 100 листов большинство скрытых (скрытые листы это выполненный заказ и отгружен).  Необходимо что бы не открывать каждый лист посмотреть каких комплектующих было изготовлено в определенную дату каждого листа. Я предполагаю что это должно быть в этой же книге на листе №2  допустим , где вводим дату изготовления и Excel (при помощи каких то функций) вывел строку с наименованием комплектующего и кол-ва, а также указал с какого листа он взял эти данные с скрытых листов тоже необходимо данные брать. Или подскажите как это осуществить. Просто говоря создать таблицу в которой видно что и сколько рабочие изготовили за определенную дату.
 
Цитата
подскажите как это осуществить
В модуль листа2
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("D5")) Is Nothing Then
    Application.EnableEvents = False
Dim FoundDate As Range
Dim Sh As Worksheet
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
 iLastRow = Cells(Rows.Count, "D").End(xlUp).Row + 1
 Range("D10:F" & iLastRow).ClearContents
  For Each Sh In Worksheets
    If Sh.Name <> "Лист2" Then
     With Sh
       Set FoundDate = .Rows(7).Find(Target, , xlFormulas, xlWhole)
       If Not FoundDate Is Nothing Then     'нашли соответствие
          iLR = .Range("B7").End(xlDown).Row
          For i = 8 To iLR
            If Not IsEmpty(.Cells(i, FoundDate.Column)) Then
             iLastRow = Cells(Rows.Count, "D").End(xlUp).Row + 1
             Cells(iLastRow, "D") = Sh.Name                                'имя листа
             .Cells(i, "B").Copy Cells(iLastRow, "E")                      'наименование
             .Cells(i, FoundDate.Column).Copy Cells(iLastRow, "F")         'количество
            End If
          Next
       End If
     End With
    End If
  Next
  End If
    Application.EnableEvents = True
End Sub

Макрос срабатывает при изменении даты в D5
 
Спасибо большое, на данном примере собирает данные. Попробую подключить модуль в основной документ.
Страницы: 1
Наверх