क्या कोई यह जानता है कि एक्सेल वीबीए का उपयोग कर एक्सेल दस्तावेज़ में कुछ शीट मौजूद हैं या नहीं?एक्सेल-वीबीए में कुछ शीट मौजूद हैं या नहीं, यह जांचने के लिए कैसे?
उत्तर
हालांकि (दुर्भाग्य से) इस तरह के विधि उपलब्ध नहीं है, हम इस जांच करने के लिए अपने स्वयं के समारोह बना सकते हैं ..
आशा है कि नीचे दिए गए कोड को अपनी आवश्यकताओं फिट बैठता है।
Edit1: जोड़ा भी बयान को नष्ट ...
Sub test()
If CheckSheet(Sheets(3).Name) then
Application.DisplayAlerts = False
Sheets(Sheets(3).Name).Delete
Application.DisplayAlerts = True
End If
End Sub
समाधान मैं के लिए ...
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
वैकल्पिक रूप से जाना चाहते हैं, तो आप कोड का उपयोग करने से परहेज नहीं करते, तो जो सक्रिय रूप से त्रुटियों को बढ़ाता है (जिसे सामान्य कोडिंग सर्वोत्तम प्रथाओं द्वारा अनुशंसित नहीं किया जाता है) आप नीचे इस 'Spartan Programming wannabe' कोड का उपयोग कर सकते हैं ...
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
यह भी एक है उत्कृष्ट समाधान - त्रुटियों पर भरोसा किए बिना चेक। मुझे पता था कि एक बेहतर तरीका था, और मैंने काम पर पहले इस तरह इस्तेमाल किया था, मुझे याद नहीं आया कि यह कैसे करना है। @ टियागो: आप शीट्स (1) पर इसका उपयोग कैसे करेंगे? बस शीट्स में पास करें (1) .नाम? –
@PaulR, हाँ, बिल्कुल ... 'शीट्स (1) .name' चाल करेगा। ध्यान दें कि आपको उन कार्यपुस्तिकाओं को सक्रिय रूप से परिभाषित करने की आवश्यकता हो सकती है जिन्हें आप उपयोग करने जा रहे हैं, क्योंकि 'शीट' संदर्भ सक्रिय कार्यपुस्तिका को इंगित करता है (जो कभी-कभी अपेक्षित नहीं होता है)। –
ठीक है, मैंने कभी-कभी मुझे काम पर काट दिया है। बड़े परिचालनों के लिए, मैं अपनी वर्कशीट्स ("शीटनाम") ऑब्जेक्ट के लिए एक ब्लॉक के साथ उपयोग करता हूं, और इसे अच्छा कहता हूं। निश्चित रूप से, यह सुनिश्चित करने के बाद, वर्कशीट्स ("शीटनाम") मौजूद था। –
कुछ इस तरह आप मिल जाएगा शुरू कर दिया:
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
इस कोड http://www.ozgrid.com/VBA/IsWorkbookOpen.htm पर आधारित था। DoSheetExist() उप के लिए देखो।
आशा है कि इससे मदद मिलती है!
मैंने नीचे दिए गए अनुसार आईबीएम नोट्स (पूर्व में कमल नोट्स) द्वारा उपयोग की जाने वाली भाषाओं में से एक, लोटसस्क्रिप्ट में उपयोग के लिए इस कोड को अनुकूलित किया है।
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
मैं इसे इस तरह से :) किया
[एक्सेल VBA तो वर्कशीट ("wsName") मौजूद है] (की- 1. यह जांचने के लिए कि सत्र मौजूद है या नहीं?
- 2. पाइथोनिक तरीका यह जांचने के लिए कि कुछ मौजूद है या नहीं?
- 3. डेटाबेस में कोई तालिका या स्तंभ मौजूद है या नहीं, यह जांचने के लिए कैसे करें?
- 4. मानचित्र में कुंजी या मूल्य मौजूद है या नहीं, यह जांचने के लिए कैसे करें?
- 5. पैरामीटर में पैरामीटर मौजूद है या नहीं, यह जांचने के लिए कैसे करें?
- 6. जावास्क्रिप्ट में सरणी तत्व मौजूद है या नहीं, यह जांचने के लिए कैसे करें?
- 7. SQL सर्वर में कोई डेटाबेस मौजूद है या नहीं, यह जांचने के लिए कैसे करें?
- 8. आईफोन: यह जांचने के लिए कि स्ट्रिंग में कोई सबस्ट्रिंग मौजूद है या नहीं?
- 9. यह जांचने के लिए कि कोई वेबपृष्ठ मौजूद है या नहीं। jQuery और/या PHP
- 10. यह जांचने के लिए कि निर्देशिका पहले से ही एमएफसी (वीसी ++) में मौजूद है या नहीं?
- 11. यह जांचने के लिए कि फ़ोल्डर में कोई फ़ाइल मौजूद है या नहीं?
- 12. शेल स्क्रिप्ट यह जांचने के लिए कि कोई निर्देशिका मौजूद है या नहीं?
- 13. एक गहरी सरणी मान मौजूद है या नहीं, यह जांचने के लिए कि
- 14. Django के लिए क्या धोखा शीट मौजूद हैं?
- 15. यह जांचने के लिए कि उपयोगकर्ता परिभाषित पथ पर कोई फ़ाइल मौजूद है या नहीं?
- 16. संसाधन मौजूद है या नहीं, यह जांचने के लिए REST मानक
- 17. आइटम मौजूद है या नहीं, यह जांचने के लिए सबसे अच्छा क्या है: गणना करें (आईडी) या मौजूद (...)?
- 18. प्रोलॉग: यह जांचने के लिए कि कोई भविष्य मौजूद है या नहीं?
- 19. यह जांचने के लिए कि कोई ऐप सेटिंग्स कुंजी मौजूद है या नहीं?
- 20. XPath: यह जांचने के लिए कि कोई विशेषता मौजूद है या नहीं?
- 21. चमेली - यह जांचने के लिए कि कोई तर्क मौजूद है या नहीं?
- 22. यह जांचने के लिए कि कोई सरणी तत्व मौजूद है या नहीं?
- 23. यह जांचने के लिए कि फ़ाइल बाइनरी है या नहीं?
- 24. सी यह जांचने के लिए तेज़ तरीका है कि कोई निर्देशिका मौजूद है या नहीं
- 25. यह जांचने के लिए कि कोई पोस्टग्रेस उपयोगकर्ता मौजूद है या नहीं?
- 26. यह जांचने के लिए कि कोई एफ़टीपी निर्देशिका मौजूद है
- 27. कोई सत्र अमान्य है या नहीं, यह जांचने के लिए
- 28. यह जांचने के लिए कि कोई फ़ाइल मौजूद है या C++ में पठनीय है?
- 29. रेल में छवि मौजूद है या नहीं, यह कैसे जांचें?
- 30. यह जांचने के लिए कि फ़ाइल
संभव डुप्लिकेट http://stackoverflow.com/questions/6040164/excel- vba-if-worksheetwsname-exist) –
संभावित डुप्लिकेट [टेस्ट या चेक शीट मौजूद है या नहीं) (https://stackoverflow.com/questions/6688131/test-or-check-if-sheet-exists) – puzzlepiece87