У меня есть 3 столбца данных (я представляю подмножество для простоты понимания).В первом столбце отображается номер этикетки, во 2-м столбце - количество вдоль номера этикетки, а в 3-м - цена.
Я хочу суммировать цену для этикеток в столбцах 3, но только если количество в столбце 2> = 1,иначе ничего не делать.
Данные:
![enter image description here](https://i.stack.imgur.com/OUs2L.png)
Желаемый результат:
![enter image description here](https://i.stack.imgur.com/HBkCY.png)
В результате цена в 3-м столбце суммируется из всех значений для метки 1 и присваивается каждой метке, если количество в колонке 2>> = 1.Для всех остальных цена не меняется, потому что количество равно 0.
Я получаю несоответствие для используемых диапазонов.Я не уверен, стоит ли мне использовать массивы:
Sub test()
Dim cell As Range
Dim cell2 As Range
Dim rngLabel As Range
Dim rngQuantity As Range
Dim rngAmount As Range
Dim ws1 As Worksheet
Set ws1 = ThisWorkbook.Sheets("Sheet3")
With ws1
Set rngLabel = .Range(.Cells(3, 1), .Cells(.Rows.Count, 1))
Set rngQuantity = .Range(.Cells(3, 2), .Cells(.Rows.Count, 2))
Set rngAmount = .Range(.Cells(3, 3), .Cells(.Rows.Count, 3))
For Each cell In rngLabel.Cells
For Each cell2 In rngAmount.Cells
If rngQuantity.Value >= 1 Then
cell = WorksheetFunction.Sum(rngAmount)
End If
Next cell2
Next cell
End With
End Sub