Có ai biết cách kiểm tra xem các trang tính nhất định có tồn tại hay không trong tài liệu Excel sử dụng Excel VBA không?Làm cách nào để kiểm tra xem các trang tính nhất định có tồn tại hay không trong Excel-VBA?
Trả lời
Mặc dù (không may) Phương pháp này không có sẵn, chúng ta có thể tạo ra chức năng riêng của chúng tôi để kiểm tra điều này ..
Hy vọng đoạn code dưới đây phù hợp với nhu cầu của bạn.
Edit1: Added cũng xóa tuyên bố ...
Sub test()
If CheckSheet(Sheets(3).Name) then
Application.DisplayAlerts = False
Sheets(Sheets(3).Name).Delete
Application.DisplayAlerts = True
End If
End Sub
Giải pháp tôi muốn đi cho ...
Function CheckSheet(ByVal sSheetName As String) As Boolean
Dim oSheet As Excel.Worksheet
Dim bReturn As Boolean
For Each oSheet In ActiveWorkbook.Sheets
If oSheet.Name = sSheetName Then
bReturn = True
Exit For
End If
Next oSheet
CheckSheet = bReturn
End Function
Ngoài ra, nếu bạn không nhớ để sử dụng mã chủ động tăng lỗi (không được khuyến cáo bằng các phương pháp hay nhất về mã hóa phổ biến) bạn có thể sử dụng mã 'Spartan Programming wannabe' này bên dưới ...
Function CheckSheet(ByVal sSheetName As String) As Boolean
Dim oSheet As Excel.Worksheet
Dim bReturn As Boolean
For Each oSheet In ActiveWorkbook.Sheets
If oSheet.Name = sSheetName Then
bReturn = True
Exit For
End If
Next oSheet
CheckSheet = bReturn
End Function
Function CheckSheet(ByVal sSheetName As String) As Boolean
On Error Resume Next
Dim oSheet As Excel.Worksheet
Set oSheet = ActiveWorkbook.Sheets(sSheetName)
CheckSheet = IIf(oSheet Is Nothing, False, True)
End Function
Đây cũng là một giải pháp tuyệt vời - kiểm tra mà không dựa vào lỗi. Tôi biết có một cách tốt hơn, và tôi đã sử dụng cách này trước khi làm việc, tôi chỉ không thể nhớ làm thế nào để làm điều đó. @Tiago: Bạn sẽ sử dụng nó như thế nào trên Trang tính (1)? Chỉ cần vượt qua trong Trang tính (1) .Name? –
@PaulR, yeap, chính xác ... 'Sheets (1) .name' sẽ thực hiện thủ thuật. Lưu ý rằng bạn có thể cần chủ động xác định sổ làm việc bạn sẽ sử dụng, vì tham chiếu 'trang tính' chỉ rõ ràng vào sổ làm việc hoạt động (đôi khi không phải là dự kiến). –
Phải, thỉnh thoảng tôi đã cắn tôi vào công việc. Đối với các hoạt động lớn hơn, tôi có xu hướng sử dụng một khối Với đối tượng Worksheets của tôi ("SheetName") và gọi nó là tốt. Điều này sẽ, tất nhiên, sau khi tôi đã chắc chắn Worksheets ("SheetName") tồn tại. –
Something như thế này sẽ giúp bạn bắt đầu:
On Error Resume Next
Dim wSheet as Worksheet
Set wSheet = Sheets(1) ' can also be a string, such as Sheets("Sheet1")
If wSheet Is Nothing Then
MsgBox "Worksheet not found!"
Set wSheet = Nothing ' make the worksheet point to nothing.
On Error GoTo 0
Else
MsgBox "Worksheet found!"
Set wSheet = Nothing ' set the found Worksheet object to nothing. You can use the found wSheet for your purposes, though.
End If
Mã này được dựa trên http://www.ozgrid.com/VBA/IsWorkbookOpen.htm. Tìm kiếm hàm DoesSheetExist().
Hy vọng điều này sẽ hữu ích!
Tôi đã điều chỉnh mã này để sử dụng trong LotusScript, một trong những ngôn ngữ được IBM Notes sử dụng (trước đây là Lotus Notes) như hình dưới đây.
Public Function ExcelSheetExists(_
xlBook As Variant, _ ' Excel workbook object
ByVal strSheetName As String _
) As Boolean
On Error GoTo errHandler
ForAll xlSheet In xlBook.Sheets
If xlSheet.Name = strSheetName Then
ExcelSheetExists = True
Exit Forall
End If
End ForAll
GoTo Done
errHandler:
' Call MyCustomErrorHandler()
Resume Done
Done:
End Function
On Error GoTo Line1
If Sheets("BOX2").Index > 0 Then
Else
Line1: MsgBox ("BOX2 is missing")
end if
tôi đã làm nó theo cách này :)
- 1. Làm cách nào để kiểm tra xem chuỗi có tồn tại hay không trong Oracle 11g?
- 2. Làm cách nào để kiểm tra xem tài nguyên được nhúng có tồn tại hay không?
- 3. Làm cách nào để kiểm tra xem một nút XML nhất định có tồn tại không?
- 4. Làm cách nào để kiểm tra xem thuộc tính có tồn tại trong XmlAttributeCollection không?
- 5. Làm cách nào để kiểm tra xem một trường có tồn tại hay không trong MongoDB?
- 6. Javascript: cách kiểm tra xem văn bản có tồn tại trong trang web hay không
- 7. Làm cách nào để kiểm tra xem phiên có tồn tại hay không?
- 8. Sử dụng Selenium2, làm cách nào để kiểm tra xem văn bản nhất định có tồn tại trên trang không?
- 9. Làm cách nào để kiểm tra xem hàng có tồn tại hay không?
- 10. Symfony2: kiểm tra xem phiên có tồn tại hay không
- 11. Kiểm tra xem URL có tồn tại hay không
- 12. Làm thế nào để kiểm tra xem một id email có tồn tại hay không?
- 13. CQL: cách kiểm tra xem keyspace có tồn tại không?
- 14. Làm cách nào để kiểm tra xem thuộc tính lồng nhau có tồn tại trong SimpleXML
- 15. Làm cách nào để kiểm tra xem biến có tồn tại trong Đề án không?
- 16. Java - Cách nhanh nhất để kiểm tra xem URL có tồn tại không?
- 17. Kiểm tra xem bảng có tồn tại
- 18. Cách kiểm tra xem tài sản có tồn tại không?
- 19. Cách kiểm tra xem tệp SharedPreferences có tồn tại hay không
- 20. Cách kiểm tra xem tệp có tồn tại trong makefile
- 21. Làm cách nào để kiểm tra xem tệp có tồn tại trong Perl không?
- 22. Cách nhanh hơn và ngắn hơn để kiểm tra xem cookie có tồn tại hay không
- 23. Cách tốt nhất để kiểm tra xem mục có tồn tại hay không: Chọn Đếm (ID) HOẶC Hiện tại (...)?
- 24. Làm cách nào để kiểm tra xem biến có tồn tại trong Smarty không?
- 25. Cách xác định xem GraphicsEnvironment có tồn tại hay không
- 26. Bash: Làm cách nào để kiểm tra xem một số tệp nhất định có tồn tại không?
- 27. Làm cách nào để kiểm tra xem nhóm chụp có tên có tồn tại không?
- 28. Kiểm tra xem trang web có tồn tại
- 29. Làm cách nào để kiểm tra xem phần tử mảng có tồn tại hay không trong javascript?
- 30. Làm cách nào để kiểm tra xem một ALAset có tồn tại hay không bằng cách sử dụng URL
thể trùng lặp của [Excel VBA Nếu bảng ("wsName") Tồn tại] (http://stackoverflow.com/questions/6040164/excel- vba-if-worksheetwsname-exist) –
Có thể trùng lặp [Kiểm tra hoặc kiểm tra xem trang tính có tồn tại không] (https://stackoverflow.com/questions/6688131/test-or-check-if-sheet-exists) – puzzlepiece87