Tổng hợp nhiều sheet thành 1 sheet

Liên hệ QC
[2:65000].Delete 'Xoa du lieu hien co
mọi người cho em hỏi, cái này là xóa từ dòng thứ 2 đến dòng 65000. Vậy em muốn xóa từ vùng từ A2:S65000 chẳng hạn thì làm thế nào ạ?
 
[2:65000].Delete 'Xoa du lieu hien co
mọi người cho em hỏi, cái này là xóa từ dòng thứ 2 đến dòng 65000. Vậy em muốn xóa từ vùng từ A2:S65000 chẳng hạn thì làm thế nào ạ?
Cái này đâu liên quan đến tiêu đề "Tổng hợp nhiều sheet ..."
 
[2:65000].Delete 'Xoa du lieu hien co
mọi người cho em hỏi, cái này là xóa từ dòng thứ 2 đến dòng 65000. Vậy em muốn xóa từ vùng từ A2:S65000 chẳng hạn thì làm thế nào ạ?
Bạn thử:
PHP:
Range("A2:S" & Range("A" & Rows.Count).End(3).Row).ClearContents
 
Nhờ mọi người giúp em sửa lỗi để giữ vùng màu vàng không bị xóa ạ, em đã thử đủ cách nhưng trình độ có hạn. Cảm ơn mọi người ạ.
 

File đính kèm

  • TONG HOP SHEET Sua.xlsm
    68.5 KB · Đọc: 22
cảm ơn anh, em cũng đã thử cách này, và nó lại bị lỗi copy dòng trống này ạ.
Excel dùng table khó sử dụng lại nặng file
Mã:
Private Sub Worksheet_Activate()
  Dim i As Long, fR As Long, lR As Long, Rws As Long
  Application.ScreenUpdating = False
  ActiveSheet.ListObjects("TongHop").Resize Range("$A$1:$R$2")
  lR = [A65000].End(xlUp).Row
  If lR > 1 Then Range("A2:R" & lR).ClearContents
  Sheets(Array("TONGHOP", "Ref")).Move Before:=Sheets(1) 'Di chuyen sheet len dau
  For k = 3 To Sheets.Count 'Lam viec voi sheet thu 3 tro di (tru sheet TONGHOP va Ref)
    With Sheets(k)
      lR = .[A65000].End(xlUp).Row
      If lR > 1 Then 'Neu co du lieu thi thuc hien
        fR = 0
        For i = 2 To lR + 1
          If Len(.Cells(i, 1).Value) Then fR = i: Exit For
        Next i
        If fR > 1 Then
          For i = fR + 1 To lR + 1
            If Len(.Cells(i, 1).Value) = 0 Then lR = i - 1:   Exit For
          Next i
          i = [A65000].End(xlUp).Row
          If Len(Cells(i, 1)) Then i = i + 1
          Range("A" & i).Resize(lR - fR + 1, 18).Value = .Range("A" & fR & ":R" & lR).Value 'Copy gia tri qua sheet TONGHOP
        End If
      End If
    End With
  Next k
  ActiveSheet.ListObjects("TongHop").Resize Range("A1:R" & [A65000].End(xlUp).Row) 'Mo rong Table TongHop
  Application.ScreenUpdating = True
End Sub
 
Excel dùng table khó sử dụng lại nặng file
Mã:
Private Sub Worksheet_Activate()
  Dim i As Long, fR As Long, lR As Long, Rws As Long
  Application.ScreenUpdating = False
  ActiveSheet.ListObjects("TongHop").Resize Range("$A$1:$R$2")
  lR = [A65000].End(xlUp).Row
  If lR > 1 Then Range("A2:R" & lR).ClearContents
  Sheets(Array("TONGHOP", "Ref")).Move Before:=Sheets(1) 'Di chuyen sheet len dau
  For k = 3 To Sheets.Count 'Lam viec voi sheet thu 3 tro di (tru sheet TONGHOP va Ref)
    With Sheets(k)
      lR = .[A65000].End(xlUp).Row
      If lR > 1 Then 'Neu co du lieu thi thuc hien
        fR = 0
        For i = 2 To lR + 1
          If Len(.Cells(i, 1).Value) Then fR = i: Exit For
        Next i
        If fR > 1 Then
          For i = fR + 1 To lR + 1
            If Len(.Cells(i, 1).Value) = 0 Then lR = i - 1:   Exit For
          Next i
          i = [A65000].End(xlUp).Row
          If Len(Cells(i, 1)) Then i = i + 1
          Range("A" & i).Resize(lR - fR + 1, 18).Value = .Range("A" & fR & ":R" & lR).Value 'Copy gia tri qua sheet TONGHOP
        End If
      End If
    End With
  Next k
  ActiveSheet.ListObjects("TongHop").Resize Range("A1:R" & [A65000].End(xlUp).Row) 'Mo rong Table TongHop
  Application.ScreenUpdating = True
End Sub
được rồi ạ, em cảm ơn anh nhiều, mới gia nhập bộ môn VBA nên còn nhiều cái bỡ ngỡ quá.
Em sử dụng table vì em còn dùng pivot table để làm báo cáo nữa.
 
Bạn xài tạm code này cho sheet Tonghop nhé:
PHP:
Private Sub Worksheet_Activate()
    Dim i As Byte
    Application.ScreenUpdating = False
    Me.Move before:=Sheets(1)
    [3:10000].Delete
    For i = 2 To Sheets.Count
        Sheets(i).[3:10000].Copy [A65536].End(xlUp).Offset(1)
    Next
    Application.ScreenUpdating = True
End Sub
Mỗi lần chọn sheet Tonghop thì dữ liệu sẽ được "Refresh" lại.
Điều kiện: Tất cả các sheet đều có cấu trúc giống sheet Tonghop.
Anh Phúc cho em hỏi chút với code này em đã tổng hợp được, tuy nhiên em chỉ muốn lấy giá trị sang mà không lấy công thức thì có cách nào không ak. Em cảm ơn!
 
Anh Phúc cho em hỏi chút với code này em đã tổng hợp được, tuy nhiên em chỉ muốn lấy giá trị sang mà không lấy công thức thì có cách nào không ak. Em cảm ơn!
Bạn thêm dòng dưới đây vào Sheets("tonghop")
PHP:
UsedRange.Value = UsedRange.Value
 
Em chào các anh, chị ạ, Nếu như em có các sheet có dòng 1 là các nhãn biến giống nhau nhưng thứ tự không giống nhau ở các sheet, thì có cách nào để tổng hợp lại thành 1 file tổng không ạ? Em xin cảm ơn ạ.
 
Em chào các anh, chị ạ, Nếu như em có các sheet có dòng 1 là các nhãn biến giống nhau nhưng thứ tự không giống nhau ở các sheet, thì có cách nào để tổng hợp lại thành 1 file tổng không ạ? Em xin cảm ơn ạ.
Bạn đính kèm file, nói rõ yêu cầu, tổng hợp cột nào, lấy từ cột nào của những sheet nào...
Bạn hỏi vậy đâu có ai hiểu.
 
Cam on ban. Mình sẽ gui file và yêu cầu
 
Chào anh chị,
Mình có nhiều sheet. Mình muốn thống kê sô học sinh nữ thành 1 sheet theo yêu cầu. Anh chị giúp mình nhé.

Cảm ơn nhiều.
 

File đính kèm

  • Bai4_hocsinhnu.xlsx
    33.1 KB · Đọc: 6
Chào anh chị,
Mình có nhiều sheet. Mình muốn thống kê sô học sinh nữ thành 1 sheet theo yêu cầu. Anh chị giúp mình nhé.

Cảm ơn nhiều.

1- Danh sách học sinh mỗi lớp thêm cột Mã duy nhất ứng với mỗi bạn học sinh, để xử lý trường hợp trùng họ và tên
2- Danh sách tổng hợp thêm một cột [Lớp], để thuận tiện cho việc xử lý dữ liệu tiếp theo, chứ không viết xen ngang như thế.

3- Bạn giải giùm bài toán này:
- Bạn học sinh tại thời điểm lập danh sách đang học lớp 5 => Bạn học sinh 11 tuổi (nếu học đúng tuổi, mỗi năm một lớp).
- Bố bạn học sinh đó sinh năm 2007, và giới tính của bố bạn học sinh đó tại thời điểm lập danh sách là Nữ.
Cho biết, hiện tại là năm 2018.
Hỏi: Bố bạn học sinh là bố đẻ hay bố nuôi?

1534700147696.png
 
Web KT
Back
Top Bottom