Như hình. . .Nhờ bạn nào giúp mình đoạn code tinh tổng các ô như hình ạ.
Sao ở trên hỏi code, ở dưới lại hỏi công thức. Chốt lại mong muốn cuối cùng như thế nào vậy.Cảm ơn Hoàng Tuấn đã đùa thật vuinhưng ở đây mình muốn hỏi là nếu các ô tổng đó trổng ,công thức làm để các ô tổng phụ đó cộng hết những ô ở trong nhóm của nó?
Sub TinhTongTheoMaHang()
Dim Rws As Long, W As Long, DongT As Long, J As Long
Dim Tong As Double
1 With Sheet1
Rws = Sheet1.[B99999].End(xlUp).Row
3 ReDim Arr(1 To Rws, 1 To 1) As Double
DongT = 1: W = 1
5 For J = 12 To Rws
If IsNumeric(Cells(J, "A")) Then
7 Arr(W, 1) = .Cells(J, "B").Value
Tong = Tong + .Cells(J, "B").Value: W = W + 1
9 Else
Tong = Tong + 0
11 Arr(DongT, 1) = Tong: Tong = 0
DongT = W: W = W + 1
13 End If
Next J
.[F12].Resize(W).Value = Arr()
End With
End Sub
Mình hỏi code để các ô như mã sản phẩm này có tổng các nội dung trong nhóm của nó. Thật là cảm ơn vì đã thấy cộng đồng và các bạn giàu kinh nghiệmSao ở trên hỏi code, ở dưới lại hỏi công thức. Chốt lại mong muốn cuối cùng như thế nào vậy.
mình thử đưa vào thì nó chạy nhưng kết quả lại không ra nhỉ? Cảm ơn bạn đã dành thời gian biết đoạn code dài.PHP:Sub TinhTongTheoMaHang() Dim Rws As Long, W As Long, DongT As Long, J As Long Dim Tong As Double With Sheet1 Rws = Sheet1.[B99999].End(xlUp).Row ReDim Arr(1 To Rws, 1 To 1) As Double DongT = 1: W = 1 For J = 12 To Rws If IsNumeric(Cells(J, "A")) Then Arr(W, 1) = .Cells(J, "B").Value Tong = Tong + .Cells(J, "B").Value: W = W + 1 Else Tong = Tong + 0 Arr(DongT, 1) = Tong: Tong = 0 DongT = W: W = W + 1 End If Next J .[F12].Resize(W).Value = Arr() End With End Sub
Cho mình hỏi là học ở đâu để bạn có thể làm được như vậy?Xem ở cột [F:F] ở cả 2 trang dùm cái!
Nếu vậy thì code của anh SA_DQ là ổn rồi đó bạn.Mình hỏi code để các ô như mã sản phẩm này có tổng các nội dung trong nhóm của nó.
Vấn đề bạn cần quan tâm hơn là dịch các câu lệnh VBA sang tiếng ViệtCho mình hỏi là học ở đâu để bạn có thể làm được như vậy?
đoạn code này mình cố dịch nhưng chưa hiểu cách thức hoạt động của nó, bạn SA_DQ có thể ban chút hào quang khai sáng cho minh không?Vấn đề bạn cần quan tâm hơn là dịch các câu lệnh VBA sang tiếng Việt
Sau đó bạn thử viết lại dàn bài cô gọn của các câu lệnh trong macro
Chúc bạn thành công.
Sub congthuc()
Dim lr&
lr = Cells(Rows.Count, "C").End(xlUp).Row
Range("B12:C" & lr).SpecialCells(xlCellTypeBlanks).Formula = "=AGGREGATE(9,0,B13:B$1656)*2-SUM(B13:B$1656)"
End Sub
=AGGREGATE(9,0,B13:B$1656)*2-SUM(B13:B$1656)
anh @SA_DQ , chưa trả lời thắc mắc. Em cũng muốn biếtCho mình hỏi là học ở đâu để bạn có thể làm được như vậy?
Bắt thang lên hỏi ông trờianh @SA_DQ , chưa trả lời thắc mắc. Em cũng muốn biết![]()
cách tư duy thật sáng tạo! Tại hạ đã được mở rộng tầm mắt rồi!Trước tiên bạn auto filter "mã sản phẩm" tại cột A và delete hết các công thức đã điền tay trước đây.
Có 2 cách: Nhập công thức trên sheet hoặc dùng code để nhập công thức.
Cách 1:
Dùng code:
PHP:Sub congthuc() Dim lr& lr = Cells(Rows.Count, "C").End(xlUp).Row Range("B12:C" & lr).SpecialCells(xlCellTypeBlanks).Formula = "=AGGREGATE(9,0,B13:B$1656)*2-SUM(B13:B$1656)" End Sub
Cách 2: Filter cột B, điều kiện là các ô trống, sau đó nhập công thức tại ô trống đầu tiên B12:
Copy sang phải và xuống dưới.Mã:=AGGREGATE(9,0,B13:B$1656)*2-SUM(B13:B$1656)