Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Суммирование данных по выбору, С двух листов сумма на третий через фильтр
 
Добрый вечер!
Помогите, пожалуйста, решить задачу. Нужно просуммировать данные с двух листов и вставить в третий, но не по всем показателям, а по выбору (типо как по фильтру). Сумму всего подряд понятно как сделать, а вот по критериям не допру никак.

Представляю себе это так: Нужно добавить 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
Копирование из листа на лист по нескольким критериям
 
Доброго времени суток, знатоки.
На 1 листе есть данные, которые надо суммировав по условию, записать на другой лист, также в определенные ячейки.
Формулами вроде как реализовал, макросом не получается....
Сопоставляю 3 критерия и, в случае совпадения, по номеру суммируются данные и вставляются в нужные ячейки.
Количество строк всегда разное(добавляются/удаляются), столбцы статичны, но в разных файлах местами по-разному стоят..
Изменено: Karamantak - 05.11.2017 12:49:15
Сравнение значений из разных вкладок, Сравнение диапазона и при совпадении вставка данных
 
Добрый вечер всем!

Пятый день, как начал изучать макросы, так что не судите строго)
Есть файл, в нем 3 листа, в лист1 - 4 столбца, в лист2 - 3 столбца, в лист3 - 2 столбца.

   Условие "лист1(B=1)": если лист1(А:А)=лист2(А:А) то с лист2(B,C) необходимо заполнить данные в лист1(C,D), причем если в лист2(B,C) несколько строчек с одним и тем же номером, то нужна сумма этих данных.

Условие "лист1(B=2)": если лист1(А:А)=лист3(А:А) то с лист2(B) необходимо заполнить данные в лист1©, причем если в лист3(B) несколько строчек с одним и тем же номером, то нужна сумма этих данных.

В приложенном файле в ячейках значение 1, значение 2, стоят экселевские формулы, но хотелось бы через макрос. Сам пробовал с помощью справочников, учебников, через Range, но что-то пока не совсем то получается, как хотелось бы...

Такой вот есть код:

Код
Sub макрос()
Dim i As Integer
i = 1
Do While Not (IsEmpty(Worksheets("Лист1").Cells(i, 1)))
If Worksheets("Лист1").Cells(i, 1) = Worksheets("Лист2").Cells(i, 1) Then
       If Worksheets("Лист1").Cells(i, 2) = 1 Then
             Worksheets("Лист1").Cells(i, 9) = Worksheets("Лист2").Cells(i, 2).Value
     End If
End If
If Worksheets("Лист1").Cells(i, 1) = Worksheets("Лист2").Cells(i, 1) Then
       If Worksheets("Лист1").Cells(i, 2) = 1 Then
             Worksheets("Лист1").Cells(i, 10).Value = Worksheets("Лист2").Cells(i, 3).Value
     End If
End If
If Worksheets("Лист1").Cells(i, 1) = Worksheets("Лист3").Cells(i, 1) Then
       If Worksheets("Лист1").Cells(i, 2) = 2 Then
             Worksheets("Лист1").Cells(i, 9) = Worksheets("Лист3").Cells(i, 2).Value
     End If
End If
i = i + 1
Loop
End Sub
Но этот код не совсем подходит...

Заранее благодарю!
Изменено: Karamantak - 27.01.2014 22:08:10
Страницы: 1
Наверх