Cách kiểm tra nhanh tất cả các sheet trong 1 file, xem mỗi cột đều có số liệu theo dòng cuối của mỗi sheet

Liên hệ QC

LienDong

Thành viên thường trực
Tham gia
22/11/12
Bài viết
218
Được thích
46
Nghề nghiệp
Ai nói đúng thì làm!
Các anh/chị cho em hỏi cách kiểm tra như sau:
Ví dụ: 1 file của em có 3 sheet, bây giờ em muốn kiểm tra nhanh mỗi sheet
Ở sheet1 thì cột
Cột A: có số liệu từ A1 đến A10 (lưu ý số 0 cũng tính là số liệu)
Cột B: có số liệu từ B1 đến B10
Cột C: có số liệu từ C1 đến C11
Như vậy ở sheet 1 dòng cuối có số liệu là dòng 11 (ở cột C) nhưng cột A & B chỉ có số liệu đến dòng 10 => báo lỗi "Sheet1 bị lỗi"
lưu ý số 0 cũng tính là số liệu và các ô trống ở giữa 2 ô có số liệu thì vẫn tính là có số liệu (ví dụ ở sheet1, ô C9)
... tiếp tục kiểm tra đến sheet cuối cùng
Anh/chị cho em hỏi có code nào duyệt qua từng sheet để kiểm tra nhanh không ạ!
Em mô tả còn chưa rỏ, nhờ anh/chị xem trong file.
Em xin cảm ơn.
 

File đính kèm

  • Loi_dong.xlsx
    11.1 KB · Đọc: 6
bạn chèn mã này vào mỗi sheet nhé, hy vọng đúng ý bạn
Mã:
Private Sub Worksheet_Activate()
Dim end_col, end_row As Long
    end_col = UsedRange.Columns(UsedRange.Columns.Count).Column
        For i = 1 To end_col - 1
            end_row = Cells(Rows.Count, i).End(xlUp).Row
            If end_row <> Cells(Rows.Count, i + 1).End(xlUp).Row Then
                MsgBox "Sheet loi", vbCritical, "Error"
                Exit Sub
            End If
        Next
End Sub
 
Upvote 0
Các anh/chị cho em hỏi cách kiểm tra như sau:
Ví dụ: 1 file của em có 3 sheet, bây giờ em muốn kiểm tra nhanh mỗi sheet
Ở sheet1 thì cột
Cột A: có số liệu từ A1 đến A10 (lưu ý số 0 cũng tính là số liệu)
Cột B: có số liệu từ B1 đến B10
Cột C: có số liệu từ C1 đến C11
Như vậy ở sheet 1 dòng cuối có số liệu là dòng 11 (ở cột C) nhưng cột A & B chỉ có số liệu đến dòng 10 => báo lỗi "Sheet1 bị lỗi"
lưu ý số 0 cũng tính là số liệu và các ô trống ở giữa 2 ô có số liệu thì vẫn tính là có số liệu (ví dụ ở sheet1, ô C9)
... tiếp tục kiểm tra đến sheet cuối cùng
Anh/chị cho em hỏi có code nào duyệt qua từng sheet để kiểm tra nhanh không ạ!
Em mô tả còn chưa rỏ, nhờ anh/chị xem trong file.
Em xin cảm ơn.
Dòng cuối có thể dùng usedRange, Range.Find hoặc:
Mã:
Lr=Sheet1.Cells.SpecialCells(xlCellTypeLastCell).Row
Còn vòng lặp duyệt qua từng sheet bạn tự nghiên cứu thêm nhé
 
Upvote 0
bạn chèn mã này vào mỗi sheet nhé, hy vọng đúng ý bạn
Mã:
Private Sub Worksheet_Activate()
Dim end_col, end_row As Long
    end_col = UsedRange.Columns(UsedRange.Columns.Count).Column
        For i = 1 To end_col - 1
            end_row = Cells(Rows.Count, i).End(xlUp).Row
            If end_row <> Cells(Rows.Count, i + 1).End(xlUp).Row Then
                MsgBox "Sheet loi", vbCritical, "Error"
                Exit Sub
            End If
        Next
End Sub
Bạn ơi code của bạn nó báo lỗi kể khi sheet không có lỗi
Dòng cuối có thể dùng usedRange, Range.Find hoặc:
Mã:
Lr=Sheet1.Cells.SpecialCells(xlCellTypeLastCell).Row
Còn vòng lặp duyệt qua từng sheet bạn tự nghiên cứu thêm nhé
Vòng lặp duyệt qua từng sheet thì trước đây đả có người hướng dẫn rồi
Bạn giúp code khi kiểm tra sheet rồi tôi sẽ tự lắp vào code duyệt qua từng sheet
Cảm ơn các bạn!
 
Upvote 0
.
Mã:
Option Explicit
Sub ABC()
    Dim ws As Worksheet, icol&, i&, iRow() As Long, coFile As Boolean
    For Each ws In Worksheets
        icol = ws.Cells(1, ws.Columns.Count).End(1).Column
        ReDim iRow(1 To icol)
        For i = 1 To icol
            iRow(i) = ws.Cells(ws.Rows.Count, i).End(3).Row
        Next
        coFile = False
        On Error Resume Next
        For i = UBound(iRow) To 2 Step -1
        If iRow(i) <> iRow(i - 1) Then
            MsgBox " Sheet: " & ws.Name & " bi loi"
            coFile = True: Exit For
        End If
        Next
    Next
    MsgBox " Ok "
End Sub
 
Upvote 0
Tìm dòng cuối: cDng
Tìm cột cuối: cCot

For each cll In Range(Cells(cDng, 1), Cells(cDong, cCot)
If cll trống Then
báo cáo
Exit For
End If
Next cll

Hoặc
For cot = 1 To cCot
If Cells(cDng, cot) trống Then
báo cáo
Exit For
End If
Next cot
 
Upvote 0
bạn xóa mấy cái linh tinh như chú thích của bạn ra nha. chỉ chừa lại dữ liệu cần duyệt thôi. code sẽ nhận nhầm chú thích là dữ liệu
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom