एक्सेल - विशिष्ट मूल्यों के साथ पंक्तियों को हटाने के लिए एक मैक्रो

Microsoft Excel संख्याओं के साथ खेलने के लिए सबसे अच्छे उपकरणों में से एक है। ऐसे उदाहरणों में जहां बड़ी संख्या में पंक्तियाँ या स्तंभ शामिल होते हैं, एक्सेल में विज़ुअल बेसिक फ्रेमवर्क भी होता है जिसका उपयोग कस्टम मैक्रोज़ को रिकॉर्ड करने या लिखने के लिए किया जा सकता है। VBA मैक्रोज़ उपयोगकर्ताओं को न्यूनतम उपयोगकर्ता इनपुट होने की प्रक्रिया को स्वचालित करने की अनुमति देता है। इन मैक्रो को विशिष्ट मूल्यों या पंक्तियों पर काम करने के लिए अनुकूलित किया जा सकता है। उपयोगकर्ता विशिष्ट मानों या पंक्तियों के लिए प्रारंभ और अंत सीमाएं क्या होनी चाहिए, यह भी अनुकूलित कर सकता है। ये सभी विकल्प एक्सेल का उपयोग डेटा हैंडलिंग एप्लिकेशन के रूप में बढ़ाते हैं

  • मुद्दा
  • उपाय
  • ध्यान दें कि

मुद्दा

मूल रूप से मेरे पास अलग-अलग विभागों के बारे में जानकारी से भरी एक शीट है और मैं जो करना चाहता हूं, वह प्रत्येक पंक्ति को हटा देना है उन पंक्तियों को हटा दें जिनमें कुछ निर्दिष्ट मान शामिल हैं (जो मैं स्क्रिप्ट चलाने पर दर्ज करना चाहता हूं)।

मान लें कि कॉलम में विभाग का नाम है ("एव्ड" नाम की मेरी शीट में), मैं किसी भी सेल को देखने के लिए स्क्रिप्ट चाहूंगा जिसमें कोई भी उदाहरण न हो, उदाहरण के लिए, संख्या 1, 3, 5, 6 या 21 .. । और इसी तरह (मेरे पास लगभग 36 विभिन्न संख्याएँ हैं)।

उपाय

आपको बस कॉलम में जानकारी को हाइलाइट करना है और फिर निम्नलिखित मैक्रो को चलाना है। एक बॉक्स होगा जो आपको यह चुनने के लिए संकेत देगा कि आप किस मूल्य को रखना चाहते हैं। यह 30, 000 पंक्तियों तक के लिए उपलब्ध है।

 सब डिलीट्रॉव्स () डिम स्ट्रोंगटाइटल के रूप में स्ट्रिंग डिम rngSrc के रूप में रेंज डिम न्यूमॉर्स इन्टर्गर डिम आरओवर के रूप में इंटीगर डिम थ्रू के रूप में इंटीजर डिम थोरोल के रूप में इंटीजर डिम जे के रूप में इंटीजर डिम डिलेटेड्रोजर्स के रूप में इंटीजर स्ट्रेटडेलीट = इनपुटबॉक्स ("वैल्यू टू ट्रिगर्स जेसन) ? ", " पंक्तियों को हटाएं ") rngSrc = ActiveSheet.Range (ActiveWindow.Selection.Address) सेट करें NumRows = rngSrc.Rows.Count ThisRow = rngSrc.ow ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column Dimming शीर्ष पंक्तियाँ। नीचे के रूप में पूर्णांक के रूप में नीचे की ओर = 30000 J के लिए = इसRRR को NumRows के लिए स्टेप 1 यदि सेल (J, ThisCol) = strToDelete तो 'Rows (J)। फिर से टॉप करें। = DeletedRows के लिए बाहर निकलें = DeletedRows + 1 End यदि J = के लिए अगला टॉप करें। + 1) NumRows स्टेप 1 के लिए यदि सेल (J, ThisCol) strToDelete है तो 'R (J) .Select bottomRows = J से बाहर निकलें' DeletedRows = DeletedRows के लिए। 1 समाप्त हो गया है तो अगले J को टॉप करें यदि ActiveSheet.Range (4)। 1), कोशिकाएं (टॉपरोज़ - 1, 52))। चयन करें। चयन करें शिफ्ट: = xlUp समाप्ति यदि ActiveSheet.Range (कक्ष (निचला-ऊपर - शीर्ष + 4, 1), कक्ष (30000, 52))। चयन करें। चयन शिफ्ट: = xlUp 'MsgBox "हटाए गए पंक्तियों की संख्या:" और हटाए गए अंतिम उप 

ध्यान दें कि

मंच पर इस टिप के लिए जेसन को धन्यवाद।

पिछला लेख अगला लेख

शीर्ष युक्तियाँ