Прошу помочь с написанием макроса или может какой-то другой вариант есть. В общем... Имеем перечень товаров с определённым партиями и количеством: ____________________________________ Товар Описание Партия Количество 1210 Сыр 001 30 1210 Сыр 001 20 1210 Сыр 002 15 2544 Яйцо 004 50 2544 Яйцо 004 60 2544 Яйцо 006 20 2544 Яйцо 006 17 3100 Мука 008 25 3100 Мука 008 25 3100 Мука 008 30 3100 Мука 008 10 ____________________________________
Необходимо, что бы автоматически подсчитывалось количество по партии, то есть конечный вариант был: ____________________________________ Товар Описание Партия Количество 1210 Сыр 001 50 1210 Сыр 002 15 2544 Яйцо 004 110 2544 Яйцо 006 37 3100 Мука 008 90 ____________________________________
Ассортимент и партии ежедневно меняются.
С уважением, SirKelt
Доброго времени суток!
Прошу помочь с написанием макроса или может какой-то другой вариант есть. В общем... Имеем перечень товаров с определённым партиями и количеством: ____________________________________ Товар Описание Партия Количество 1210 Сыр 001 30 1210 Сыр 001 20 1210 Сыр 002 15 2544 Яйцо 004 50 2544 Яйцо 004 60 2544 Яйцо 006 20 2544 Яйцо 006 17 3100 Мука 008 25 3100 Мука 008 25 3100 Мука 008 30 3100 Мука 008 10 ____________________________________
Необходимо, что бы автоматически подсчитывалось количество по партии, то есть конечный вариант был: ____________________________________ Товар Описание Партия Количество 1210 Сыр 001 50 1210 Сыр 002 15 2544 Яйцо 004 110 2544 Яйцо 006 37 3100 Мука 008 90 ____________________________________
SirKelt, добрый день,как вариант кнопки test и очистка
[vba]
Код
Sub test() Dim z, i&, j&, k&, m&, t$: z = Range("A1:D" & Range("A" & Rows.Count).End(xlUp).Row).Value With CreateObject("scripting.dictionary"): .CompareMode = 1 For i = 1 To UBound(z): t = z(i, 1) & z(i, 2) & z(i, 3) If .exists(t) = False Then m = m + 1: .Item(t) = m: For j = 1 To UBound(z, 2): z(m, j) = z(i, j): Next Else z(.Item(t), 4) = z(.Item(t), 4) + z(i, 4) End If Next Range("F1").Resize(.Count, UBound(z, 2)).Value = z End With End Sub
[/vba]
SirKelt, добрый день,как вариант кнопки test и очистка
[vba]
Код
Sub test() Dim z, i&, j&, k&, m&, t$: z = Range("A1:D" & Range("A" & Rows.Count).End(xlUp).Row).Value With CreateObject("scripting.dictionary"): .CompareMode = 1 For i = 1 To UBound(z): t = z(i, 1) & z(i, 2) & z(i, 3) If .exists(t) = False Then m = m + 1: .Item(t) = m: For j = 1 To UBound(z, 2): z(m, j) = z(i, j): Next Else z(.Item(t), 4) = z(.Item(t), 4) + z(i, 4) End If Next Range("F1").Resize(.Count, UBound(z, 2)).Value = z End With End Sub
Понял как работает кнопка, как привязать макрос, но не понял, как сделать, что бы по двум столбцам параллельно считалось. То есть в первом случае были столбцы: Товар, Описание, Партия, Количество. А как быть если столбцов чуть больше и по двум из них нужен параллельный подсчёт? Пример: Товар, Описание, Партия, Количество, Квант, Кол-во упаковок Необходимо, чтобы подсчитывалось "Количество" и "Кол-во упаковок" параллельно.
Заранее благодарю!
С уважением, SirKelt
Понял как работает кнопка, как привязать макрос, но не понял, как сделать, что бы по двум столбцам параллельно считалось. То есть в первом случае были столбцы: Товар, Описание, Партия, Количество. А как быть если столбцов чуть больше и по двум из них нужен параллельный подсчёт? Пример: Товар, Описание, Партия, Количество, Квант, Кол-во упаковок Необходимо, чтобы подсчитывалось "Количество" и "Кол-во упаковок" параллельно.