haithong81
Thành viên mới 

			
		- Tham gia
 - 3/1/18
 
- Bài viết
 - 2
 
- Được thích
 - 0
 
- Giới tính
 - Nam
 




Cột 10 tính tổng như nào vậy bạnEm có file như đính kèm, nhờ anh chị chỉ giúp cách làm như yêu cầu em đã ghi chú chữ màu xanh trong file
Sub AdvancedFilter()
 Dim Rws As Long
 Dim CSDL As Range, Cls As Range, WF As Object, sRng As Range
 
 Set CSDL = [G2].CurrentRegion
 Rws = CSDL.Rows.Count
1 ' Loc Duy Nhat Theo Cot "G"    '
 Range("G1:K" & Rws).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
    "W1:W2"), CopyToRange:=Range("S1:W1"), Unique:=True
 [Y1].Value = [s1]
 Set WF = Application.WorksheetFunction
 For Each Cls In Range([s2], [s1].End(xlDown))
2 '  Dien 06 Cot Du Lieu Phia Truoc  '
    Set sRng = [G1].Resize(Rws).Find(Cls.Value, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        Cls.Offset(, -6).Resize(, 6).Value = sRng.Offset(, -6).Resize(, 6).Value
    Else
        MsgBox "GPE.COM"
    End If
3 '  Tinh Tong Trung:    '
    [y2].Value = Cls.Value
    Cls.Offset(, 3).Value = WF.DSum(Range("G1:K" & Rws), [J1], [Y1:Y2])
 Next Cls
End Sub
	


Vì 2 bảng số cột là như nhau nên bạn thay vì ghi từng cột theo kiểu:Bài này hôm qua mình có xem rồi nhưng diễn đàn lại tạm dừng nâng cấp. Thôi dù sao cũng làm rồi nên gửi bạn tham khảo file của chuối này.với lại như bác be09 đã nhắc nhở đấy. Bạn xem lại nội quy diễn đàn. Và đợi các bác ấy cho sự trợ giúp tối ưu hơn. Mình mới học VBA góp vui thôi
ArrKQ(k, 1) = ArrDL(i, 1)
....
	For j = 1 To 11
    ArrKQ(k, j) = ArrDL(i, j)
Next j
	Bạn tham khảo file.Em có file như đính kèm, nhờ anh chị chỉ giúp cách làm như yêu cầu em đã ghi chú chữ màu xanh trong file
Cảm ơn bác đã gớp ý,hihi mới học nên làm hơi cồng kềnh bác ahVì 2 bảng số cột là như nhau nên bạn thay vì ghi từng cột theo kiểu:
Thì bạn thay đổi như này cho gọn nhé:PHP:ArrKQ(k, 1) = ArrDL(i, 1) ....
PHP:For j = 1 To 11 ArrKQ(k, j) = ArrDL(i, j) Next j
Công thức mảng, Ctrl+Shift+EnterEm có file như đính kèm, nhờ anh chị chỉ giúp cách làm như yêu cầu em đã ghi chú chữ màu xanh trong file
G2 =IFERROR(INDEX(Sheet2!$G$2:$G$30,MATCH(0,COUNTIF($G$1:G1,Sheet2!$G$2:$G$30)+(Sheet2!$G$2:$G$30=""),0)),"")
	J2 =IF($G2="","",SUMIF(Sheet2!$G$2:$G$30,G2,Sheet2!$J$2:$J$30))
	A2 =IF($G2="","",INDEX(Sheet2!A$2:A$30,MATCH($G2,Sheet2!$G$2:$G$30,0)))
	