2013-01-20 27 views
6

मैं इस कोड का उपयोग कर रहा हूँ:VBA Unfilter लेकर

Sheets("Sheet1").AutofilterMode = False 

एक एक्सेल शीट VBA का उपयोग करने में डेटा unfilter करने के लिए (बिंदु सभी फ़िल्टर साफ़ करने के लिए है)। यह हमेशा काम नहीं करता प्रतीत होता है, क्या कोई बेहतर तरीका है?

धन्यवाद!

यदि यह मदद करता है, तो यह तालिका एसक्यूएल सर्वर (डेटा -> अन्य स्रोतों से -> एसक्यूएल सर्वर से ...) से जुड़ी है और इसमें रंगीन डिज़ाइन लेआउट (तालिका विशिष्ट) है।

+2

मैंने पाया यह काम करता है::

Sub ShowAllData() On Error Resume Next Worksheets("Sheet1").ShowAllData End Sub 

फिर अपने मुख्य उप से फ़ंक्शन को कॉल 'ActiveSheet.ListObjects ("Table_Sam_table1")। श्रेणी। ऑटोफिल्टर फ़ील्ड: = 2' लेकिन मुझे सामान्य होने और सभी फ़ील्ड के लिए काम करने की आवश्यकता है, केवल दूसरे फ़ील्ड फ़िल्टर को साफ़ करने के लिए नहीं, बल्कि सभी। इसके अलावा, शुरुआती प्रश्न में उल्लिखित समाधान शायद अलग पाठ के लिए काम करता है, ऑब्जेक्ट्स पर लागू नहीं होता है (तालिकाएं जिनमें उनके गुणों में टेबल नाम होते हैं)। – Sam

उत्तर

0

ShowAllData केवल तभी काम करेगा जब आपकी शीट में फ़िल्टर हो, अन्यथा यह टूट जाएगा। मैंने पाया कि आप On Error Resume Next के साथ इस से एक समारोह बना सकते हैं और यह सभी मामलों में काम करना चाहिए:

Sub Main() 

ShowAllData 

End Sub 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^