OK,
sao mình gộp 2 macro của 2 sheet khác vào chung 1 macro cho tiện mà không được nhỉ, vì file của mình có tới hơn 10 sheet cũng tổng hợp theo kiểu tương tự như vậy nên mình muốn gộp chung các macro của mỗi sheet vào chung 1 macro, khi chạy sẽ tự tổng hợp cho các sheet khác luôn có được không vậy bạn?
Code:
Sub TONGHOP()
Application.ScreenUpdating = False
Range("A5:M" & Range("A65000").End(3).Row + 1).ClearContents
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\TongHop.xls;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";"
Range("B5").CopyFromRecordset cn.Execute("SELECT f92,'',f8,f9,f6 & '/'& f3 & f5,f7,f10,f11,f12,f13,f107 FROM [THA$A10

C60000] where f92 is not null")
Range("A5:A" & Range("B65000").End(3).Row).Value = "=row()-4"
Range("A5:M" & Range("B65000").End(3).Row).Borders.LineStyle = xlContinuous
ActiveWorkbook.Worksheets("DANH SACH").Sort.SortFields.Add Key:=Range("B5:B" & Range("B65000").End(3).Row _
), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"Tháng 10,Tháng 11,Tháng 12,Tháng 1,Tháng 2,Tháng 3,Tháng 4,Tháng 5,Tháng 6,Tháng 7,Tháng 8,Tháng 9" _
, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("DANH SACH").Sort
.SetRange Range("A5:M" & Range("B65000").End(3).Row)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Sub UT()
Application.ScreenUpdating = False
Range("A5:M" & Range("A65000").End(3).Row + 1).ClearContents
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\TongHop.xls;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";"
Range("B5").CopyFromRecordset cn.Execute("SELECT f92,'',f8,f9,f6 & '/'& f3 & f5,f7,f10,f11,f12,f13,f107 FROM [THA$A10

C60000] where f96 =1")
Range("A5:A" & Range("B65000").End(3).Row).Value = "=row()-4"
Range("A5:M" & Range("B65000").End(3).Row).Borders.LineStyle = xlContinuous
ActiveWorkbook.Worksheets("UT").Sort.SortFields.Add Key:=Range("B5:B" & Range("B65000").End(3).Row _
), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"Tháng 10,Tháng 11,Tháng 12,Tháng 1,Tháng 2,Tháng 3,Tháng 4,Tháng 5,Tháng 6,Tháng 7,Tháng 8,Tháng 9" _
, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("UT").Sort
.SetRange Range("A5:M" & Range("B65000").End(3).Row)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Trời, bỏ cái này đi (column(THA$CR10:CR60000) =96)
Cái này mình chỉ giải thích vi sao nó là f96 thui mà vì CR là cột 96