/ / सूची छिपी वर्कशीट - एक्सेल, एक्सेल-वीबीए, वीबीए

छिपी हुई वर्कशीट - एक्सेल, एक्सेल-वीबीए, वीबीए

मेरे पास एक सामग्री रजिस्टर है जिसे मैं बना रहा हूं

एक सामग्री (प्रत्येक सामग्री) के नियमन के कारण3 अंकों की यादृच्छिक संख्या के साथ अपनी स्वयं की वर्कशीट है जिसमें अंत में एक ही नाम को एक से अधिक बार अनुमति देने के लिए जोड़ा गया है) हटा दिया गया है इसे वास्तव में हटाया नहीं जा सकता है, इसलिए इसके चारों ओर काम करने के लिए मेरी कार्यपुस्तिका शीट को छुपाती है और सारांश पृष्ठ पर डिलीट चेक का उपयोग करती है उपयुक्त पंक्ति।

हालाँकि, मैं जिस चीज़ से जूझ रहा हूँ, वह शीट को पुनर्स्थापित करने का एक कार्य है,

मेरे पास कोड है जो मुझे ऐसा करने की आवश्यकता है, हालांकि मुझे कोई फ़ंक्शन नहीं मिल रहा है छिपी हुई चादरें.

इस सूची को एक छिपे हुए कॉलम में कार्यपुस्तिका में रखा जा सकता है, इसलिए मैं इसे अपने मैक्रो के साथ संदर्भित कर सकता हूं लेकिन जैसा कि मैंने कहा कि मुझे वैसे भी केवल शीट को सूचीबद्ध करने के लिए नहीं मिल सकता है जो छिपे हुए हैं।

आपकी सहायता के लिए धन्यवाद

उत्तर:

उत्तर № 1 के लिए 1

आप अपने कोड को जोड़ सकते हैं जो उस शीट का नाम लिखने के लिए छुपाता है जिसे वह आपके अन्य छिपे हुए टैब में छिपा रहा है, और अपने कोड में रिवर्स जोड़ देता है जो इसे अनहाइड करता है।

सुनिश्चित नहीं है कि नीचे आपकी स्थिति के लिए लागू है, लेकिन आप पत्रक को अदृश्य करने के लिए कैप्चर करने के लिए कार्यपत्रक ईवेंट में कुछ कोड भी डाल सकते हैं

Private Sub Worksheet_Deactivate()
If Me.Visible = xlSheetHidden Then MsgBox "I have been hidden"
End Sub

जवाब के लिए 0 № 2

क्या यह मदद करता है ..

" Function to be used in array formula on sheet to list hidden sheets
Public Function ListHiddenSheets()
Dim hiddenSheets As New dictionary

Dim sheet As Worksheet
For Each sheet In Worksheets
If sheet.Visible <> xlSheetVisible Then hiddenSheets.Add sheet.Name, Null
Next sheet

Dim vRes() As Variant
ReDim vRes(0 To hiddenSheets.Count, 0 To 0)

Dim idx As Integer
For idx = 0 To hiddenSheets.Count - 1
vRes(idx, 0) = hiddenSheets.keys(idx)
Next idx

ListHiddenSheets = vRes
End Function

?


जवाब के लिए 0 № 3

छिपी हुई चादरें हो सकती हैं छिपा हुआ या VeryHidden, इन पर कब्जा करने के लिए:

ub ListEm()
Dim ws As Worksheet
Dim StrHid As String
Dim strVHid As String
For Each ws In ActiveWorkbook.Worksheets
Select Case ws.Visible
Case xlSheetVisible
Case xlSheetHidden
StrHid = StrHid & ws.Name & vbNewLine
Case Else
strVHid = strVHid & ws.Name & vbNewLine
End Select
Next
If Len(StrHid) > 0 Then MsgBox StrHid, vbOKCancel, "Hidden Sheets"
If Len(strVHid) > 0 Then MsgBox strVHid, vbOKCancel, "Very Hidden Sheets"
End Sub