Chạy code . . .Chào các bác!
Hôm nay em lại có một bài toán tính số lượng theo phạm vi và điều kiện
Trong một phạm vi nhất định sẽ nhân với số lượng của dòng điều kiện trước đó, cụ thể em có diễn giải trong tệp đính kèm ạ
Mong các bác giúp đỡ ạ
Sub ABC()
Dim arr(), res(), sRow&, i&, cb&, t
arr = Range("A3:D" & Range("A" & Rows.Count).End(xlUp).Row).Value
sRow = UBound(arr)
ReDim res(1 To sRow, 1 To 1)
t = 1
For i = 1 To sRow
If arr(i, 4) = "Add" Then
cb = arr(i, 1)
t = arr(i, 3)
res(i, 1) = t
Else
If cb = arr(i, 1) Then t = 1
res(i, 1) = t * arr(i, 3)
End If
Next i
Range("E3").Resize(sRow) = res
End Sub
ôi, nhìn code của bác viết đơn giản mà lại giải quyết dễ dàng vấn đề,Chạy code . . .
Mã:Sub ABC() Dim arr(), res(), sRow&, i&, cb&, t arr = Range("A3:D" & Range("A" & Rows.Count).End(xlUp).Row).Value sRow = UBound(arr) ReDim res(1 To sRow, 1 To 1) t = 1 For i = 1 To sRow If arr(i, 4) = "Add" Then cb = arr(i, 1) t = arr(i, 3) res(i, 1) = t Else If cb = arr(i, 1) Then t = 1 res(i, 1) = t * arr(i, 3) End If Next i Range("E3").Resize(sRow) = res End Sub