Thắc mắc: File có bao nhiêu sheet và tìm đến những sheet rỗng

Liên hệ QC

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia
30/6/08
Bài viết
1,703
Được thích
1,577
Donate (Momo)
Donate
Nghề nghiệp
Vô tư cùng bạn bè đi khắp nơi.
Mình có câu hỏi nhỏ thôi. Như tiêu đề, làm cách nào để biết file có bao nhiêu sheet và tìm đến những sheet rỗng không có dữ liệu?

File minh họa mình đính kèm.

Cảm ơn mọi người.
 

File đính kèm

  • BT TH Excel.xlsx
    1.5 MB · Đọc: 13
file có bao nhiêu sheet: 25

những sheet rỗng không có dữ liệu: Khoanh đỏ


1603849762078.png
 
Mình có câu hỏi nhỏ thôi. Như tiêu đề, làm cách nào để biết file có bao nhiêu sheet và tìm đến những sheet rỗng không có dữ liệu?

File minh họa mình đính kèm.

Cảm ơn mọi người.

đây. sau nay lại bị 15 ký tự nữa ta.
1603849806913.png
Bài đã được tự động gộp:

Mình có câu hỏi nhỏ thôi. Như tiêu đề, làm cách nào để biết file có bao nhiêu sheet và tìm đến những sheet rỗng không có dữ liệu?

File minh họa mình đính kèm.

Cảm ơn mọi người.
Giống bài của thớt này quá vậy bạn

1603849932730.png
 
=SHEETS()
Mình có câu hỏi nhỏ thôi. Như tiêu đề, làm cách nào để biết file có bao nhiêu sheet và tìm đến những sheet rỗng không có dữ liệu?

File minh họa mình đính kèm.

Cảm ơn mọi người.
Bạn dùng hàm =SHEETS() là đếm luôn cả những Sheet ẩn, còn sheet rỗng thì hình như có bài rồi thì phải.
 
Cái này chắc dùng macro rồi trên mạng có đấy
 
cái SQL của Mạnh nó cũng lấy ra hết ... còn làm sao biết sheet Rỗng = chưa biết !!
1.PNG
2.PNG
 
@befaint : con vẫn chưa biết cách vô chỗ đó! :|
@saobekhonglac : ờ há, Alt-F11 là nhanh nè, hi. À, mình mượn đỡ file thành viên để hỏi vấn đề của mình á. :D
@hungtin1997 : mới biết luôn á, cách hay quá xá luôn, nhanh gọn. ;)
@hongtrang26 : hơi chậm, hi.
@Kiều Mạnh : SQL nhìn đã thiệt. Mà Mạnh xài, chớ mình yếu nên chưa có xài. éc

Đa số chưa có giải quyết được câu 2 á.
 
@befaint : con vẫn chưa biết cách vô chỗ đó! :|
@saobekhonglac : ờ há, Alt-F11 là nhanh nè, hi. À, mình mượn đỡ file thành viên để hỏi vấn đề của mình á. :D
@hungtin1997 : mới biết luôn á, cách hay quá xá luôn, nhanh gọn. ;)
@hongtrang26 : hơi chậm, hi.
@Kiều Mạnh : SQL nhìn đã thiệt. Mà Mạnh xài, chớ mình yếu nên chưa có xài. éc

Đa số chưa có giải quyết được câu 2 á.
Câu 2 dễ thôi :D
 
thấy cái Sheet 0000 dữ liệu = empty = Format thì làm sao biết nó là Rỗng đây ta ???
 
@befaint : con vẫn chưa biết cách vô chỗ đó! :|
@saobekhonglac : ờ há, Alt-F11 là nhanh nè, hi. À, mình mượn đỡ file thành viên để hỏi vấn đề của mình á. :D
@hungtin1997 : mới biết luôn á, cách hay quá xá luôn, nhanh gọn. ;)
@hongtrang26 : hơi chậm, hi.
@Kiều Mạnh : SQL nhìn đã thiệt. Mà Mạnh xài, chớ mình yếu nên chưa có xài. éc

Đa số chưa có giải quyết được câu 2 á.
Đếm thì dùng hàm Sheets().
Còn rỗng thì đây:
Code này tính luôn Shape nhé. Report qua Sheets(1) nên lưu ý trước khi chạy nhé.

Mã:
Sub CheckSheetEmpty()
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
     Sheets(i).Select
    If WorksheetFunction.CountA(ActiveSheet.UsedRange) = 0 And ActiveSheet.Shapes.Count = 0 Then
    Sheets(1).Cells(i, 1).Value = Sheets(i).Name
        End If
Next
Sheets(1).Select
    Application.ScreenUpdating = True
End Sub
 
Không biết VBA lên mạng lấy đoạn code lấy ra tên các sheet rồi làm theo cách mình biết (nghịch cho vui chứ không dùng để áp dụng :D)
 

File đính kèm

  • BT TH Excel (1).xlsm
    1.5 MB · Đọc: 3
Đếm thì dùng hàm Sheets().
Còn rỗng thì đây:
Code này tính luôn Shape nhé. Report qua Sheets(1) nên lưu ý trước khi chạy nhé.

Mã:
Sub CheckSheetEmpty()
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
     Sheets(i).Select
    If WorksheetFunction.CountA(ActiveSheet.UsedRange) = 0 And ActiveSheet.Shapes.Count = 0 Then
    Sheets(1).Cells(i, 1).Value = Sheets(i).Name
        End If
Next
Sheets(1).Select
    Application.ScreenUpdating = True
End Sub
Muốn xài ADODB check Or cái x gì đó ấy chứ mở Files lên thì không thích lắm
 
Đếm thì dùng hàm Sheets().
Còn rỗng thì đây:
Code này tính luôn Shape nhé. Report qua Sheets(1) nên lưu ý trước khi chạy nhé.

Mã:
Sub CheckSheetEmpty()
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
     Sheets(i).Select
    If WorksheetFunction.CountA(ActiveSheet.UsedRange) = 0 And ActiveSheet.Shapes.Count = 0 Then
    Sheets(1).Cells(i, 1).Value = Sheets(i).Name
        End If
Next
Sheets(1).Select
    Application.ScreenUpdating = True
End Sub
nó báo ở đâu vậy bạn.
 
Thử như này xem sao anh:
PHP:
Option Explicit
Sub Test()
Dim ws As Worksheet, RngEmpty As Range, i As Long, EmpSheet As String
With ActiveWorkbook
MsgBox "So sheet la: " & .Sheets.Count
    For Each ws In .Sheets
        Set RngEmpty = ws.Cells.Find("*")
        If RngEmpty Is Nothing And ws.Shapes.Count = 0 Then
            i = i + 1
            EmpSheet = IIf(EmpSheet = "", ws.Name, EmpSheet & Chr(10) & ws.Name)
        End If
    Next
MsgBox "So sheet trong la: " & i
MsgBox "Ten sheet trong la: " & Chr(10) & EmpSheet
End With
End Sub
 
Web KT

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

Back
Top Bottom