Vô cái đó ở đâu vậy bác ơi? Con tưởng ngay trong Excel có chỗ để mình coi cái này chớ!
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ạnMì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.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.
Không cần Excel, dùng phần mềm mở được file *.zip là được.Vô cái đó ở đâu
Câu 2 dễ thôi@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 á.
@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 á.
Chờ mở mang kiến thức.Câu 2 dễ thôi![]()
Đếm thì dùng hàm Sheets().@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 á.
@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 á.
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
Quan trọng là đáp ứng yêu cầu của @xuongrongdat hay không thôi.Muốn xài ADODB check Or cái x gì đó ấy chứ mở Files lên thì không thích lắm
nó báo ở đâu vậy bạn.Đế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
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