Страницы: 1
RSS
Как собрать все заказы из трех листов в один
 
Добрый день. Прошу помощи в создании формулы.

Суть есть листы 1, 2, 3 и заказ.

Все наименования которые клиент отмечает на странице 1, 2, 3 попадают на страницу заказ (Наименование и Количество)
Сейчас это работает только с первого листа.
Спасибо
Изменено: Andrey_ekb - 09.06.2017 14:16:52
 
;) без файла трудно помочь
Изменено: grigju - 09.06.2017 14:15:33
 
Добавил,)
 
Вам бы Правила пока почитать.
Зачем темам давать осмысленное название?
предложите новое название темы. Модераторы исправят.
Я сам - дурнее всякого примера! ...
 
Тему можно назвать так:
Как собрать все заказы из трех листов в один
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Офис 2003 не поддерживает  
 
Andrey_ekb, это плохо. Я использовал функцию ЕСЛИОШИБКА(). Без нее формула получится намного длинее.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Согласен, у многих офисников стоят старые версии и старые компы
 
На Лист1 и Лист2 в ячейке В1 доп. вычисления.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Макрос, запускать при активном листе "заказ"
Код
Sub Sbor()
Dim Sht As Worksheet
Dim iLastRow As Long
Dim iLR As Long
Dim i As Long
  iLR = Cells(Rows.Count, "A").End(xlUp).Row + 1
  Range("A2:C" & iLR).ClearContents
    For Each Sht In Worksheets
      If Sht.Name <> "заказ" Then        ' кроме листа "заказ"
        With Sht
          iLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
          For i = 2 To iLastRow
            If Not IsEmpty(.Cells(i, "J")) Then
              iLR = Cells(Rows.Count, "A").End(xlUp).Row + 1
              .Range("B" & i).Copy Cells(iLR, "A")
              .Range("J" & i).Copy Cells(iLR, "B")
              Cells(iLR, "C") = Sht.Name
            End If
          Next
        End With
      End If
    Next
End Sub
Изменено: Kuzmich - 09.06.2017 18:21:26
Страницы: 1
Наверх