यह ट्यूटोरियल प्रदर्शित करेगा कि सेल मानों के आधार पर पंक्तियों को कैसे हटाया या सम्मिलित किया जाए।
सेल वैल्यू के आधार पर रो डिलीट करें
यह एक सीमा के माध्यम से लूप करेगा, और पंक्तियों को हटा देगा यदि कॉलम ए "हटाएं" कहता है।
1234567891011121314151617181920 | उप DeleteRowsBasedonCellValue ()'चर घोषित करें'मंद अंतिम पंक्ति जितनी लंबी है, पहली पंक्ति जितनी लंबी हैमंद पंक्ति जितनी लंबी होएक्टिवशीट के साथ'पहली और आखिरी पंक्तियों को परिभाषित करें'पहली पंक्ति = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'पंक्तियों के माध्यम से लूप (नीचे से ऊपर)पंक्ति के लिए = अंतिम पंक्ति से प्रथम पंक्ति चरण -1यदि .रेंज ("ए" और पंक्ति)। मान = "हटाएं" तो.रेंज ("ए" और पंक्ति)। EntireRow.Deleteअगर अंतअगली पंक्तिके साथ समाप्त करनाअंत उप |
हमें लूप को निचली पंक्ति से शुरू करना चाहिए क्योंकि एक पंक्ति को हटाने से डेटा शिफ्ट हो जाएगा, यदि आप ऊपर से नीचे लूप करते हैं तो पंक्तियों को छोड़ दें।
साथ ही, ध्यान दें कि अंतिम पंक्ति में मैन्युअल रूप से प्रवेश करने के बजाय, हम अंतिम उपयोग की गई पंक्ति की गणना करते हैं।
पंक्ति हटाएं - फ़िल्टर के आधार पर
पिछले उदाहरण में, हमने मानदंडों को पूरा करने वाली प्रत्येक पंक्ति को हटाते हुए पंक्तियों के माध्यम से लूप किया था। वैकल्पिक रूप से, हम कुछ मानदंडों के आधार पर पंक्तियों को फ़िल्टर करने के लिए एक्सेल के ऑटोफिल्टर का उपयोग कर सकते हैं और फिर दृश्यमान पंक्तियों को हटा सकते हैं:
12345678910111213141516171819202122232425 | उप फ़िल्टर और DeleteRows ()'डब्ल्यूएस वैरिएबल घोषित करें'वर्कशीट के रूप में डिम WSसेट ws = एक्टिवशीट'मौजूदा फ़िल्टर रीसेट करें'त्रुटि पर फिर से शुरू करें अगलाws.ShowAllDataत्रुटि गोटो 0 . पर'फिल्टर लागू करेंws.Range("a1:d100").AutoFilter Field:=1, Criteria1:="delete"'पंक्तियों को हटाएं'एप्लिकेशन। डिस्प्ले अलर्ट = गलतws.Range("a1:d100").SpecialCells(xlCellTypeVisible).Deleteएप्लिकेशन.डिस्प्लेअलर्ट्स = ट्रू'स्पष्ट निस्यंदकत्रुटि पर फिर से शुरू करें अगलाws.ShowAllDataत्रुटि गोटो 0 . परअंत उप |
सेल मानदंड के आधार पर पंक्ति हटाएं
यह एक श्रेणी के माध्यम से लूप करेगा, पंक्तियों को हटा रहा है यदि कॉलम ए में सेल कुछ मानदंडों को पूरा करता है (<0):
1234567891011121314151617181920 | उप DeleteRowsBasedonCellValue ()'चर घोषित करें'मंद अंतिम पंक्ति जितनी लंबी है, पहली पंक्ति जितनी लंबी हैमंद पंक्ति जितनी लंबी होएक्टिवशीट के साथ'पहली और आखिरी पंक्तियों को परिभाषित करें'पहली पंक्ति = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'पंक्तियों के माध्यम से लूप (नीचे से ऊपर)पंक्ति के लिए = अंतिम पंक्ति से प्रथम पंक्ति चरण -1यदि .रेंज ("ए" और पंक्ति)। मान <0 तब.रेंज ("ए" और पंक्ति)। EntireRow.Deleteअगर अंतअगली पंक्तिके साथ समाप्त करनाअंत उप |
वीबीए प्रोग्रामिंग | कोड जेनरेटर आपके लिए काम करता है!
अगर सेल खाली है तो रो डिलीट करें
यह एक श्रेणी के माध्यम से लूप करेगा, यदि कॉलम ए में एक सेल खाली है तो एक पंक्ति को हटा रहा है:
1234567891011121314151617181920 | उप DeleteRowsBasedonCellValue ()'चर घोषित करें'मंद अंतिम पंक्ति जितनी लंबी है, पहली पंक्ति जितनी लंबी हैमंद पंक्ति जितनी लंबी होएक्टिवशीट के साथ'पहली और आखिरी पंक्तियों को परिभाषित करें'पहली पंक्ति = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'पंक्तियों के माध्यम से लूप (नीचे से ऊपर)पंक्ति के लिए = अंतिम पंक्ति से प्रथम पंक्ति चरण -1यदि .रेंज ("ए" और पंक्ति)। मान = "" तो.रेंज ("ए" और पंक्ति)। EntireRow.Deleteअगर अंतअगली पंक्तिके साथ समाप्त करनाअंत उप |
खाली पंक्ति हटाएं
वैकल्पिक रूप से, यदि आप एक पंक्ति को हटाना चाहते हैं यदि पूरी पंक्ति खाली है (थोड़ी अलग विधि के लिए लिंक पर क्लिक करें), तो आप इस कोड का उपयोग कर सकते हैं:
1234567891011121314151617181920 | उप DeleteBlankRows ()'चर घोषित करें'मंद अंतिम पंक्ति जितनी लंबी है, पहली पंक्ति जितनी लंबी हैमंद पंक्ति जितनी लंबी होएक्टिवशीट के साथ'पहली और आखिरी पंक्तियों को परिभाषित करें'पहली पंक्ति = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'पंक्तियों के माध्यम से लूप (नीचे से ऊपर)पंक्ति के लिए = अंतिम पंक्ति से प्रथम पंक्ति चरण -1यदि वर्कशीट फंक्शन। काउंटए (। पंक्तियाँ (पंक्ति)) = 0 तोपंक्तियाँ (पंक्ति)। EntireRow.Deleteअगर अंतअगली पंक्तिके साथ समाप्त करनाअंत उप |
यदि सेल में मान है तो पंक्ति हटाएं
यह एक श्रेणी के माध्यम से लूप करेगा, यदि कॉलम ए में सेल खाली नहीं है तो एक पंक्ति को हटा रहा है:
1234567891011121314151617181920 | उप DeleteRowsBasedonCellValue ()'चर घोषित करें'मंद अंतिम पंक्ति जितनी लंबी है, पहली पंक्ति जितनी लंबी हैमंद पंक्ति जितनी लंबी होएक्टिवशीट के साथ'पहली और आखिरी पंक्तियों को परिभाषित करें'पहली पंक्ति = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'पंक्तियों के माध्यम से लूप (नीचे से ऊपर)पंक्ति के लिए = अंतिम पंक्ति से प्रथम पंक्ति चरण -1यदि .रेंज ("ए" और पंक्ति)। मान "" तो.रेंज ("ए" और पंक्ति)। EntireRow.Deleteअगर अंतअगली पंक्तिके साथ समाप्त करनाअंत उप |
VBA कोड उदाहरण खोज कर थक गए हैं? ऑटोमैक्रो का प्रयास करें!
सेल वैल्यू के आधार पर रो इंसर्ट करें
यह एक सीमा के माध्यम से लूप करेगा, पंक्तियों को सम्मिलित करेगा यदि उस पंक्ति में एक निश्चित सेल "सम्मिलित करें" कहता है:
1234567891011121314151617181920 | सब इंसर्ट रो बेसडनसेलवैल्यू ()'चर घोषित करें'मंद अंतिम पंक्ति जितनी लंबी है, पहली पंक्ति जितनी लंबी हैमंद पंक्ति जितनी लंबी होएक्टिवशीट के साथ'पहली और आखिरी पंक्तियों को परिभाषित करें'पहली पंक्ति = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'पंक्तियों के माध्यम से लूप (नीचे से ऊपर)पंक्ति के लिए = अंतिम पंक्ति से प्रथम पंक्ति चरण -1यदि .रेंज ("ए" और पंक्ति)। मान = "सम्मिलित करें" तो.रेंज ("ए" और पंक्ति)। संपूर्ण पंक्ति। सम्मिलित करेंअगर अंतअगली पंक्तिके साथ समाप्त करनाअंत उप |