Tự động cập nhật dữ liệu các sheet con vào sheet tổng hợp

Trạng thái
Không mở trả lời sau này.

Gia Phan

Yêu THVBA
Các cao thủ có thể giúp minh với dc ko?
Mình có file bán bán hàng các ngày trong tháng. Giờ muốn tự động cập nhật dữ liệu các sheet ngày vào sheet tổng.
Mong phản hồi.
 
Theo mình thì bạn nên diễn giải ra, đâu là sheet tổng, đâu là sheet các ngày.
Không biết mình hiểu như dưới đây có đúng không?
Bạn cần đăng nhập để thấy hình ảnh


Cập nhật là cập nhật như thế nào, dữ liệu cột nào ghi vào cột nào. Lấy dữ liệu của cột A sheet bán hàng các ngày ghi vào cột H của sheet tổng có được không? Không được đúng không. Vậy thì nên có chỉ thị rõ ràng khi đi nhờ người khác làm, tránh trường hợp tự hiểu (hiểu sai) rồi làm ra thứ không đúng như bạn kỳ vọng.
Không biết mình hiểu như dưới đây có đúng không?
Sheet dữ liệu bán hàng các ngày:
Bạn cần đăng nhập để thấy hình ảnh


Sheet tổng hợp:
Bạn cần đăng nhập để thấy hình ảnh


Ngoài ra cho mình hỏi thêm, phần khoanh đỏ thì lấy thông tin ở đâu điền vào?

Chú ý:
Nếu bạn không biết cách upload ảnh lên diễn đàn, bạn vui lòng tham khảo topic sau: .
Để trả lời thì không quote cả bài viết, muốn nhắc ai thì dùng cấu trúc @tên_nick
 

Gia Phan

Yêu THVBA
@vanthanhVBA xin lỗi bạn vì đã ko rõ ràng trong phần nhờ.
Bạn hiểu đúng ý mình rồi. Sheet ngày và sheet tổng DT giống nhau về cấu trúc. Lấy dữ liệu các cột của các sheet hằng ngày cập nhật vào các cột của sheet Tổng DT.
Phần khoanh đỏ thì mình nhập bằng tay bạn.
Cảm ơn bạn.
 
Bạn thử: Chạy thủ tục main
Mã:
'Thong tin ung ho dien dan:
'So tai khoan: 0011003264055
'Ngan hang Vietcombank
'Chi nhanh ngan hang: Quan Hoan Kiem, Ha Noi
'Chu tai khoan: Pham Minh Hoang
Sub main()
    Dim sls     As Integer 'So luong sheets
    Dim i       As Integer
    Dim rend    As Long, rend2 As Long, rghi As Long
    Dim arr
    Dim fghi    As Boolean
    Const r1    As Long = 5 'dong tieu de-du lieu bat dau tu dong 7
    Const c3    As Integer = 3 'cot C-chua ten hang hoa
  
    Const cend  As Integer = 15
    Const shn   As String = "DT T6" 'Ten sheet tong hop
  
    shs = ThisWorkbook.Sheets.Count
    'Xoa du lieu
    On Error GoTo thoat
    With ThisWorkbook.Sheets(shn)
        rend = .Cells(.Rows.Count, c3).End(xlUp).Row
        If rend >= (r1 + 2) Then
            .Range(.Cells(r1 + 2, c3 - 2), .Cells(rend, cend)).ClearContents
        End If
    End With
    rghi = 6
    For i = 1 To shs Step 1
        If ThisWorkbook.Sheets(i).Name <> shn Then
            fghi = False
            'Lay du lieu
            With ThisWorkbook.Sheets(i)
                rend = .Cells(.Rows.Count, c3).End(xlUp).Row
                If rend >= (r1 + 2) Then
                    arr = .Range(.Cells(r1 + 2, c3 - 1), .Cells(rend, cend)).Value
                    fghi = True
                End If
            End With
            'Ghi ket qua
            If fghi = True Then
                rghi = rghi + 1
                rend2 = UBound(arr, 1) - LBound(arr, 1) + rghi
                With ThisWorkbook.Sheets(shn)
                    .Range(.Cells(rghi, c3 - 1), .Cells(rend2, cend)).Value = arr
                End With
                rghi = rend2
            End If
        End If
    Next i
    'Ghi so thu tu vao sheet ket qua:
    If rghi >= 7 Then
        With ThisWorkbook.Sheets(shn)
            For i = 1 To rghi Step 1
                .Cells(i+6,c3 - 2).Value = i
            Next i
        End With
    End If
    MsgBox "Da hoan thanh"
    Exit Sub
thoat:
  
  
End Sub
 

Euler

Administrator
Thành viên BQT
@Gia Phan : Bạn lưu ý không quote cả bài viết. Muốn nhắn ai thì sử dụng cấu trúc @tên_nick.
Về câu hỏi của bạn: Câu trả lời là làm được. Tuy nhiên yêu cầu này không có ngay từ ban đầu trong topic. Nguyên tắc trên diễn đàn, khi nêu ra yêu cầu thì nêu hết các ý ra. Nếu bỗng dưng nảy ra ý tưởng mới thì phải lập topic mới.
Nếu không muốn tổng hợp sheet nào thì bạn chịu khó lấy tay xóa sheet đó ra khỏi file nhé.
 
Trạng thái
Không mở trả lời sau này.
Top