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)))