Hỏi về cách liên kết các sheet lại thành 1 sheet

Liên hệ QC

huynhtranvn

Thành viên mới
Tham gia
30/6/08
Bài viết
4
Được thích
1
chào các bạn,
Mình có 1 vấn đề mong các bạn có thể giúp đỡ mình. mình có 1 file excel gồm nhiều sheet, mình muốn liên kết tất cả các sheet lại thành một sheet tổng hợp, và khi mình cập nhật dữ liệu vào từng sheet thì nó tự động update vào sheet tổng. mình có gửi file đính kèm
ghi chú : các sheet này giống nhau và mình không biết sử dụng VBA
 
Hi, trên diễn đàn GPE có nhiều bài như vậy lắm. Bạn tìm kiếm là sẽ thấy, bạn có thể tìm bằng các từ khóa: liên kết nhiều sheet, copy nhiều sheet.
bạn có thể tham khảo code sau (chú ý code này sẽ xóa tất cả những dòng trống)

Sub CopySheets()
Const shTotal = "Total"
Dim wb As Workbook
Dim sTotal As Worksheet
Dim sH As Worksheet, Rng As Range, ce As Range
Dim sRow As Long, eRow As Long, iRow As Long, iCol As Long
Application.ScreenUpdating = False
Set wb = ActiveWorkbook 'ThisWorkbook
iRow = 1
On Error Resume Next
Set sTotal = wb.Sheets(shTotal)
If sTotal Is Nothing Then
With wb.Sheets.Add
.Name = shTotal
End With
Set sTotal = ActiveSheet
End If

sTotal.Cells.Delete
For Each sH In wb.Sheets
If sH.Name <> shTotal Then
With sH.UsedRange
'eRow = .Rows.Count'
'sRow = .Row'
iCol = .Columns.Count
For i = 1 To iCol
.AutoFilter field:=i, Criteria1:="="
Next
Set Rng = .Offset(1, 0).SpecialCells(Type:=xlCellTypeVisible)
For Each ce In Rng
ce.EntireRow.Delete
Next
sH.ShowAllData
.AutoFilter
.Copy Destination:=sTotal.Cells(iRow, 1)
iRow = sTotal.UsedRange.Rows.Count + 1 ' .Rows.Count + iRow
Application.CutCopyMode = False

End With
End If
Next
With sTotal
.Activate
.Cells(1, 1).Activate
End With
Set sTotal = Nothing: Set wb = Nothing
Application.ScreenUpdating = True
End Sub
 
Web KT
Back
Top Bottom