Добрый вечер!
Помогите, пожалуйста, решить задачу. Нужно просуммировать данные с двух листов и вставить в третий, но не по всем показателям, а по выбору (типо как по фильтру). Сумму всего подряд понятно как сделать, а вот по критериям не допру никак.
Представляю себе это так: Нужно добавить userform куда будет вытягиваться параметры для выбора суммирования по нескольким столбцам (например столбец E сцепить столбец F) галочками пометить по каким критериям суммировать и сумму уже вставить в Лист4Sum, т.е. какие-то строчки суммировать полностью, а какие-то по критерию отбора.
Через If пробовал делать, но каждый элемент столбца F не возможно указать, потому как он может меняться, т.е. которые не указал в IF будут пропускаться... Короче конкретный затык на этом моменте...
Помогите, пожалуйста, решить задачу. Нужно просуммировать данные с двух листов и вставить в третий, но не по всем показателям, а по выбору (типо как по фильтру). Сумму всего подряд понятно как сделать, а вот по критериям не допру никак.
Представляю себе это так: Нужно добавить userform куда будет вытягиваться параметры для выбора суммирования по нескольким столбцам (например столбец E сцепить столбец F) галочками пометить по каким критериям суммировать и сумму уже вставить в Лист4Sum, т.е. какие-то строчки суммировать полностью, а какие-то по критерию отбора.
Через If пробовал делать, но каждый элемент столбца F не возможно указать, потому как он может меняться, т.е. которые не указал в IF будут пропускаться... Короче конкретный затык на этом моменте...
Код |
---|
Sub summa() Dim arr(), arr1(), arr2(), i&, j& arr = Sheets("Лист2").UsedRange.Value arr1 = Sheets("Лист3").UsedRange.Value arr2 = Sheets("Лист4Sum").UsedRange.Value For i = 5 To UBound(arr2) For j = 10 To UBound(arr2, 2) arr2(i, j) = arr(i, j) + arr1(i, j) Next Next Sheets("Лист4Sum").UsedRange.ClearContents Sheets("Лист4Sum").Range("A1").Resize(UBound(arr2), UBound(arr2, 2)).Value = arr2 End Sub |