[Nhờ hỗ trợ] Marco báo cáo Consolidate

Liên hệ QC

binh.t.v

Thành viên mới
Tham gia
13/11/06
Bài viết
4
Được thích
0
Dạ xin chào các Anh/Chị
Mình có một vấn đề cần sự tư vấn của mọi người. Mình record một macro làm báo cáo Consolidate từ 02 sheet , nhưng trong Code record thì vùng data là cố định, mình muốn làm một vùng data động gán vào 2 biến , rồi đưa 2 biến đó mình áp dụng code tạo Consolidate, cụ thể như sau:
Rich (BB code):
Selection.Consolidate Sources:=Array("Sheet4!R1C1:R93C2", _
        "Sheet5!R1C1:R92C2"), Function:=xlSum, TopRow:=True, LeftColumn:= _
        True, CreateLinks:=False
còn đây là code mình đã thử tự sửa:
Mã:
Sub Macro1()

    Dim L1 As Long
    Dim L2 As Long
    
    L1 = Sheet9.Cells(Rows.Count, 2).End(xlUp).Row
    L2 = Sheet10.Cells(Rows.Count, 2).End(xlUp).Row
   '
    S1 = "Sheet4!A1:" & L1
    S2 = "Sheet5!A1:" & L2
    
    Selection.Consolidate Sources:=Array(S1, S2), Function:=xlSum, TopRow:=True, LeftColumn:= _
        True, CreateLinks:=False
    end sub
và lỗi như sau:
loi.png
Nhờ Anh/Chị hỗ trợ bằng cách nào để đưa 2 vùng data đó vào trong Array. Mình mới mày mò học VBA, mình cũng đã thử
Mã:
Selection.Consolidate Sources:=Array("Sheet4!A1:" & L1, "Sheet5!A1:" & L2), Function:=xlSum, TopRow:=True, LeftColumn:= _
        True, CreateLinks:=False
nhưng vẫn không được và bị báo lỗi như trên
Mong được sự tư vấn và hỗ trợ của anh/chị. Xin chân thành cảm ơn.
 
Dạ xin chào các Anh/Chị
Mình có một vấn đề cần sự tư vấn của mọi người. Mình record một macro làm báo cáo Consolidate từ 02 sheet , nhưng trong Code record thì vùng data là cố định, mình muốn làm một vùng data động gán vào 2 biến , rồi đưa 2 biến đó mình áp dụng code tạo Consolidate, cụ thể như sau:
Rich (BB code):
Selection.Consolidate Sources:=Array("Sheet4!R1C1:R93C2", _
        "Sheet5!R1C1:R92C2"), Function:=xlSum, TopRow:=True, LeftColumn:= _
        True, CreateLinks:=False
còn đây là code mình đã thử tự sửa:
Mã:
Sub Macro1()

    Dim L1 As Long
    Dim L2 As Long
   
    L1 = Sheet9.Cells(Rows.Count, 2).End(xlUp).Row
    L2 = Sheet10.Cells(Rows.Count, 2).End(xlUp).Row
   '
    S1 = "Sheet4!A1:" & L1
    S2 = "Sheet5!A1:" & L2
   
    Selection.Consolidate Sources:=Array(S1, S2), Function:=xlSum, TopRow:=True, LeftColumn:= _
        True, CreateLinks:=False
    end sub
và lỗi như sau:
View attachment 272338
Nhờ Anh/Chị hỗ trợ bằng cách nào để đưa 2 vùng data đó vào trong Array. Mình mới mày mò học VBA, mình cũng đã thử
Mã:
Selection.Consolidate Sources:=Array("Sheet4!A1:" & L1, "Sheet5!A1:" & L2), Function:=xlSum, TopRow:=True, LeftColumn:= _
        True, CreateLinks:=False
nhưng vẫn không được và bị báo lỗi như trên
Mong được sự tư vấn và hỗ trợ của anh/chị. Xin chân thành cảm ơn.
Thử
Array("Sheet4!A1:B" & L1, "Sheet5!A1:B" & L2)
 
Upvote 0
Dạ cho mình gởi, nhờ các Anh xem dùm ạ
 

File đính kèm

  • tonghop_consolidate.xlsm
    18.1 KB · Đọc: 23
Upvote 0
Dạ cho mình gởi, nhờ các Anh xem dùm ạ
Thử code này coi đúng ý không anh
Mã:
Sub ABC()
Dim Ll&, L2&, S1, S2, Pht, Ten
    L1 = Sheet9.Cells(Rows.Count, 2).End(xlUp).Row
    L2 = Sheet10.Cells(Rows.Count, 2).End(xlUp).Row
    Pht = ThisWorkbook.Path & "\"
    Ten = ThisWorkbook.Name
    S1 = "'" & Pht & "[" & Ten & "]" & "Sheet4'!R1C1:R" & L1 & "C2"
    S2 = "'" & Pht & "[" & Ten & "]" & "Sheet5'!R1C1:R" & L2 & "C2"
    Sheet9.Range("E1").Consolidate Array(S1, S2), xlSum, 1, 1, 0
End Sub
 
Upvote 0
Dạ cho mình gởi, nhờ các Anh xem dùm ạ
Dùng tạm . . .
Mã:
Sub T()
    Dim L1 As Long, L2 As Long
    L1 = Sheets("Sheet4").Cells(Rows.Count, 2).End(xlUp).Row
    L2 = Sheets("Sheet5").Cells(Rows.Count, 2).End(xlUp).Row
    Selection.Consolidate Sources:=Array("Sheet4!R1C1:R" & L1 & "C2", _
        "Sheet5!R1C1:R" & L2 & "C2"), Function:=xlSum, TopRow:=True, LeftColumn:= _
        True, CreateLinks:=False
End Sub
 
Upvote 0
Dạ cảm ơn các anh, Code sử dụng tốt lắm ạ.
 
Upvote 0
Web KT
Back
Top Bottom