Tìm sheet ngoại lai

  • Thread starter Thread starter nthxe
  • Ngày gửi Ngày gửi
Liên hệ QC

nthxe

Trình còi
Tham gia
14/6/08
Bài viết
260
Được thích
112
Kính gửi các anh chị em
Tôi có 1 file excel gồm 3 sheet là: sheet1, sheet 2 và sheet3. Sau khi gửi cho team làm việc thì có người đã thêm sheet mới vào file (ẩn hoặc không ẩn). Xin hỏi có cách nào phát hiện file nào chứa sheet ngoại lai không ạ? Cảm ơn
 
Lần chỉnh sửa cuối:
Dear anh chị em
Tôi có 1 file excel gồm 3 sheet là: sheet1, sheet 2 và sheet3. Sau khi gửi cho team làm việc thì có người đã thêm sheet mới vào file (ẩn hoặc không ẩn). Xin hỏi có cách nào phát hiện file nào chứa sheet ngoại lai không ạ? Cảm ơn

Bạn hỏi và nêu vấn đề chưa rõ ràng, nên tôi trả lời đại hên thì trúng.

Nếu 1 người nào đó gửi File lại cho bạn, bạn Open File và nhấn Alt+F11 mở cửa sổ VBE bạn sẽ thấy sheet ngoại lai (sheet ẩn) trong cửa sổ Project - VBA Project, để làm hiện nó, click chọn tên sheet đó vào cửa sổ Properties, dòng cuối có tên Visible, click vào khung bên phải sẽ thấy mũi tên hình tam giác màu đen, danh sách xổ xuống bạn chọn -1-xlSheetVisible, nhấn Alt+F11 trở về bảng tính bạn sẽ thấy sheet ẩn hiện ra.
 
Bạn hỏi và nêu vấn đề chưa rõ ràng, nên tôi trả lời đại hên thì trúng.

Nếu 1 người nào đó gửi File lại cho bạn, bạn Open File và nhấn Alt+F11 mở cửa sổ VBE bạn sẽ thấy sheet ngoại lai (sheet ẩn) trong cửa sổ Project - VBA Project, để làm hiện nó, click chọn tên sheet đó vào cửa sổ Properties, dòng cuối có tên Visible, click vào khung bên phải sẽ thấy mũi tên hình tam giác màu đen, danh sách xổ xuống bạn chọn -1-xlSheetVisible, nhấn Alt+F11 trở về bảng tính bạn sẽ thấy sheet ẩn hiện ra.

Cảm ơn bạn, nếu mở từng file thì sẽ biết file nào họ thêm sheet. Tôi xin nói rõ hơn vấn đề là tôi là có nhiều file và muốn tìm ra những file nào có số sheet > 3 một cách nhanh nhất ạ.
 
Lần chỉnh sửa cuối:
Tôi vẫn cần sự giúp đỡ của mọi người về khúc mắc liên quan đến excel trên
Bạn mở File và nhấn nút "KIỂM TRA" xem kết quả nhé! Tôi làm theo yêu cầu của bạn, tức nếu ban đầu File của bạn có 3 sheet nếu người khác chèn thêm sheet vào kể cả ẩn sheet đi nó vẫn tìm được. (Lúc này File nhiều hơn 3 sheet) nó sẽ báo có sheet ngoại lai nếu không chèn thêm tức số sheet vẫn là 3 thì nó báo không có sheet ngoại lai.
 

File đính kèm

Bạn mở File và nhấn nút "KIỂM TRA" xem kết quả nhé! Tôi làm theo yêu cầu của bạn, tức nếu ban đầu File của bạn có 3 sheet nếu người khác chèn thêm sheet vào kể cả ẩn sheet đi nó vẫn tìm được. (Lúc này File nhiều hơn 3 sheet) nó sẽ báo có sheet ngoại lai nếu không chèn thêm tức số sheet vẫn là 3 thì nó báo không có sheet ngoại lai.

Cảm ơn Chuot0106, có lẽ tôi nêu câu hỏi không rõ khiến bạn và be09 hiểu nhầm đề bài. Mong muốn của tôi là trong 1 thư mục chứa 100 file với tên khác nhau, tìm những file có số sheet > 3.

Nếu phải mở từng file thì mình biết luôn nó có bao sheet sau khi unhide hoặc bỏ cái hyperhidden trong mục visible.

Dựa vào code của bạn, để tôi thử làm 1 marco để làm việc này xem sao
 
Lần chỉnh sửa cuối:
Mong muốn của tôi là tìm ra file nào có số sheet > 3 chứ không chỉ là đếm số sheet. Có lẽ phải marco chứ các tính năng có sẵn ko làm đc cái này.
Bạn tải file về, lưu vào trong thư mục mà bạn cần kiểm tra. Chạy code, nhưng file nào có nhiều hơn 3 sheets sẽ liệt kê ra tại cột A
 

File đính kèm

Bạn tải file về, lưu vào trong thư mục mà bạn cần kiểm tra. Chạy code, nhưng file nào có nhiều hơn 3 sheets sẽ liệt kê ra tại cột A

Cảm ơn rất rất nhiều, tôi đg loay hoay tìm thuật toán thì bạn đã có câu trả lời.

Tiện thể xin hỏi thêm, trong 3 sheet tôi làm sẵn thì cũng có link giữa sheet nọ với sheet kia. Trong cái code chỉ dùng chức năng đếm nhưng tại sao thỉnh thoảng vẫn có thông báo hỏi có update link ko? Trong cái marco của tôi làm việc với các file này cũng vậy, không can thiệp vào các sheet đã có mà cũng có thông báo trên.
 
Cảm ơn rất rất nhiều, tôi đg loay hoay tìm thuật toán thì bạn đã có câu trả lời.

Tiện thể xin hỏi thêm, trong 3 sheet tôi làm sẵn thì cũng có link giữa sheet nọ với sheet kia. Trong cái code chỉ dùng chức năng đếm nhưng tại sao thỉnh thoảng vẫn có thông báo hỏi có update link ko? Trong cái marco của tôi làm việc với các file này cũng vậy, không can thiệp vào các sheet đã có mà cũng có thông báo trên.

Thay code này vào thì sẽ hết thông báo Updatelinks
PHP:
Sub KT()
Application.ScreenUpdating = False
Dim ObjFSO As Object, ObjFile As Object, k As Long
Dim DuongDan As String, FileList(1 To 65536, 1 To 1)
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
DuongDan = ThisWorkbook.Path
With ObjFSO.Getfolder(DuongDan)
   For Each ObjFile In .Files
      If ObjFSO.GetExtensionName(ObjFile.Name) Like "xls*" Then
         If Left(ObjFile.Name, 1) <> "~" Then
            If ObjFile.Name <> ThisWorkbook.Name Then
                With Workbooks.Open(ObjFSO.GetAbsolutePathName(ObjFile), UpdateLinks:=0)
                    If .Sheets.Count > 3 Then
                        k = k + 1
                        FileList(k, 1) = ObjFSO.GetFileName(ObjFile)
                    End If
                    .Close False
                End With
            End If
         End If
      End If
   Next
End With
[A1].Resize(k) = FileList
Application.ScreenUpdating = True
End Sub
 
Tôi cũng đọc bài này vài lần rồi nhưng với cách hỏi lơ lửng của tác giả tôi không dám tham gia vì không biết sẽ đi đến đâu:
-Tác giả phải định nghĩa rõ ràng:Thế nào là sheet ngoại lai? Đây hoàn toàn là khái niệm của tác giả đặt ra nên tác giả phải rõ hơn ai hết.
-Lấy gì xác định 3 sheet trên file hiện có không phải là ngoại lai? Người ta chép lại sheet gốc của bạn rồi xóa sheet gốc và rename sheet copy thành sheet như gốc thì sao.
-Mức độ bảo vệ đến đâu vì ai cũng biết mức bảo mật đối với Exc chỉ là trò trẻ phải không

Còn nói chơi vơi thế này thì e rằng nó quá rộng và khó có thể quán xuyến hết.
 
Tôi cũng đọc bài này vài lần rồi nhưng với cách hỏi lơ lửng của tác giả tôi không dám tham gia vì không biết sẽ đi đến đâu:
-Tác giả phải định nghĩa rõ ràng:Thế nào là sheet ngoại lai? Đây hoàn toàn là khái niệm của tác giả đặt ra nên tác giả phải rõ hơn ai hết.
-Lấy gì xác định 3 sheet trên file hiện có không phải là ngoại lai? Người ta chép lại sheet gốc của bạn rồi xóa sheet gốc và rename sheet copy thành sheet như gốc thì sao.
-Mức độ bảo vệ đến đâu vì ai cũng biết mức bảo mật đối với Exc chỉ là trò trẻ phải không

Còn nói chơi vơi thế này thì e rằng nó quá rộng và khó có thể quán xuyến hết.

Thắc mắc của tôi đã được các bạn khác giải quyết giúp rồi. Đúng là cách đặt vấn đề của tôi ban đầu không rõ ràng, cụ thể nên một số bạn đã hiểu nhầm hoặc có những boăn khoăn như bạn. Vấn đề của tôi đơn giản chỉ là: File gốc có 3 sheet là sheet1, sheet2 và sheet3. Sau khi các nhóm làm việc thì có thể họ đã thêm sheet4, sheet5 vào file nên tôi muốn có cách nhanh nhất để tìm ra file nào có > 3 sheet. ĐÚng như bạn nói, có thể còn nhiều trường hợp khác như đổi tên sheet, rename...nhưng vấn đề của tôi chỉ đơn giản như trên thôi ạ,
Cảm ơn bạn đã quan tâm
 
Web KT

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

Back
Top Bottom