Hỏi về cách lấy dữ liệu từ sheet khác và tính tổng bằng vba

Liên hệ QC

dongdnl

Thành viên mới
Tham gia
24/5/18
Bài viết
5
Được thích
0
'- Yêu cầu sử dụng VBA
+ Tính tổng volume ở sheet Volume theo brand là hiện kết quả vào ô J20 sheet MAIN
. Nếu dropdown list(P8) là select all thì tính tổng toàn bộ volume của tất cả các brand
. Nếu dropdown list(P8) khác select all thì tính tổng volume của brand được chọn.

Mình mới học vba excel này nên bó tay @@
 

File đính kèm

  • VBA_tinhtong.xlsm
    35 KB · Đọc: 7
1. Sửa lại tiêu đè bài viết -> kẻo bị xóa
2. Sử dụng Pivot nhanh như điện để làm công việc trên -> sao phải VBA.
 
Upvote 0
Tại vì e mới nên chỉ biết có vba ak chưa biết nhiều cái khác

Thử Pivot Table đi -> hỏi ông Gồ ấy... -> xong biết Pivot rồi biết nhiều cái hay hơn nữa ấy.

============================
Mã:
Public Sub GPE()
Dim sArr, I As Long, Tong, TongA, Br As String
Br = Sheet1.Range("P8").Value
sArr = Sheet3.Range("A1").CurrentRegion.Value
Tong = 0: TongA = 0
For I = 2 To UBound(sArr)
    If sArr(I, 1) = Br Then
        Tong = Tong + sArr(I, 2)
    End If
    TongA = TongA + sArr(I, 2)
Next
If Br = "Select All" Then Tong = TongA
Sheet1.Range("J20").Value = Tong
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Tại vì e mới nên chỉ biết có vba ak chưa biết nhiều cái khác

Nếu bạn biết VBA thì dùng VBA thay công thức này cho ô J20 sheet MAIN:
PHP:
=IF($P$8="Select All";SUM(Volume!$B$2:$B$2000);SUMIF(Volume!$A$2:$A$2000;$P$8;Volume!$B$2:$B$2000))
 
Upvote 0
'- Yêu cầu sử dụng VBA
+ Tính tổng volume ở sheet Volume theo brand là hiện kết quả vào ô J20 sheet MAIN
. Nếu dropdown list(P8) là select all thì tính tổng toàn bộ volume của tất cả các brand
. Nếu dropdown list(P8) khác select all thì tính tổng volume của brand được chọn.

Mình mới học vba excel này nên bó tay @@
1 cách:
+Code Sheets("MAIN")
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Sheets("Volume").Range("A1:B1").AutoFilter
    If Not Intersect(Target, Range("P8")) Is Nothing Then
        FilterToSum
        Sum_abc_J20
    End If
End Sub
+Code Module
PHP:
Sub Sum_abc_J20()
    Dim LR&
    LR = Sheets("Volume").Cells(Rows.Count, "B").End(3).Row
    Sheets("MAIN").Range("J20").Formula = "=SUM(Volume!B2:B" & LR & ")"
End Sub
Sub FilterToSum()
    Dim DK, LR
    LR = Sheets("Volume").Cells(Rows.Count, "B").End(3).Row
    Set DK = Sheets("Volume").Range("D1")
    With Sheets("Volume")
        .AutoFilterMode = False
        .Range("A1:B1400").AutoFilter Field:=1, Criteria1:=DK
    End With
    Sheets("MAIN").Range("P9") = WorksheetFunction.Subtotal(9, Sheets("Volume").Range("B:B"))
End Sub
 

File đính kèm

  • SUM_abc.xls
    123 KB · Đọc: 16
Upvote 0
Web KT
Back
Top Bottom