समस्याको सूत्रीकरण
हामीसँग डेटा भएको कक्षहरूको दायरा छ जसमा खाली कक्षहरू छन्:
कार्य भनेको खाली कक्षहरू हटाउनु हो, केवल जानकारीको साथ कक्षहरू छोडेर।
विधि 1. रफ र छिटो
- मूल दायरा चयन गर्दै
- कुञ्जी थिच्नुहोस् F5, अर्को बटन हाइलाइट (विशेष)। खुल्ने विन्डोमा, चयन गर्नुहोस् खाली कक्षहरू(रिक्त) र क्लिक गर्नुहोस् OK.
दायराका सबै खाली कक्षहरू चयन गरिएका छन्।
- हामीले चयन गरिएका कक्षहरू मेटाउन मेनुमा आदेश दिन्छौं: दायाँ-क्लिक गर्नुहोस्- कक्षहरू मेटाउनुहोस् (सेलहरू मेटाउनुहोस्) माथिको शिफ्ट संग।
विधि २: एरे सूत्र
सरल बनाउनको लागि, प्रयोग गरेर हाम्रो कार्य दायराहरू नाम दिनुहोस् नाम प्रबन्धक (नाम प्रबन्धक) ट्याब सूत्र (सूत्रहरू) वा, Excel 2003 र पुरानो मा, मेनु घुसाउनुहोस् - नाम - असाइन गर्नुहोस् (सम्मिलित गर्नुहोस् - नाम - परिभाषित गर्नुहोस्)
दायरा B3:B10 नाम दिनुहोस् खाली गर्नुहोस्, दायरा D3:D10 - कुनै पनि खाली छैन। दायराहरू कडा रूपमा एउटै आकारको हुनुपर्छ, र एकअर्काको सापेक्ष जहाँ पनि अवस्थित हुन सक्छ।
अब दोस्रो दायरा (D3) को पहिलो सेल चयन गर्नुहोस् र यसमा यो डरलाग्दो सूत्र प्रविष्ट गर्नुहोस्:
=IF(ROW() -ROW(NoEmpty)+1>NOTROWS(YesEmpty)-COUNTBLANK(YesEmpty);"";INDIRECT(ADDRESS(LOWEST((IF(Empty<>""),ROW(खाली);ROW() + ROWS(त्यहाँ खाली छन्))); LINE()-ROW(खाली छैन)+1); COLUMN(त्यहाँ खाली छन्); 4)))
अंग्रेजी संस्करणमा यो हुनेछ:
=IF(ROW()-ROW(NoEmpty)+1>ROWS(खाली)-COUNTBLANK(खाली),"", INDIRECT(ADDRESS(SMALL((IF(Empty<>""),ROW(खाली),ROW() +ROWS(खाली छ)),ROW()-ROW(NoEmpty)+1), COLUMN(HaveEmpty),4)))
यसबाहेक, यसलाई एरे सूत्रको रूपमा प्रविष्ट गर्नुपर्छ, जस्तै टाँसिएपछि थिच्नुहोस् प्रविष्ट गर्नुहोस् (सामान्य रूपमा) र Ctrl+Shift+Enter। अब सूत्र स्वत: पूर्ण प्रयोग गरेर प्रतिलिपि गर्न सकिन्छ (सेलको तल्लो दाहिने कुनामा कालो क्रस तान्नुहोस्) - र हामी मूल दायरा प्राप्त गर्नेछौं, तर खाली कक्षहरू बिना:
विधि 3. VBA मा अनुकूलन प्रकार्य
यदि त्यहाँ एक शङ्का छ कि तपाईले प्राय: दायराहरूबाट खाली कक्षहरू हटाउनको लागि प्रक्रिया दोहोर्याउनु पर्छ, त्यसपछि मानक सेटमा एक पटक खाली कक्षहरू हटाउनको लागि आफ्नै प्रकार्य थप्नु राम्रो हुन्छ, र यसलाई सबै पछिल्ला केसहरूमा प्रयोग गर्नुहोस्।
यो गर्नका लागि, भिजुअल बेसिक सम्पादक खोल्नुहोस् (ALT+F11), नयाँ खाली मोड्युल घुसाउनुहोस् (मेनु घुसाउनुहोस् - मोड्युल) र त्यहाँ यस प्रकार्यको पाठ प्रतिलिपि गर्नुहोस्:
प्रकार्य NoBlanks(DataRange को रूपमा दायरा) variant() Dim N को रूपमा लामो Dim N2 को रूपमा लामो Dim Rng को रूपमा दायरा Dim MaxCells लामो मधुरो नतिजाको रूपमा () भेरियन्ट Dim R को रूपमा लामो Dim C को रूपमा लामो MaxCells = Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, DataRange.Cells.Count) ReDim परिणाम (1 देखि MaxCells, 1 देखि 1) प्रत्येक Rng को लागि DataRange.Cells यदि Rng.Value <> vbNullString त्यसपछि N = N + 1 नतिजा(N, 1 ) = Rng.Value End यदि अर्को Rng को लागि N2 = N + 1 मा MaxCells Result(N2, 1) = vbNullString अर्को N2 यदि Application.Caller.Rows.Count = 1 त्यसपछि NoBlanks = Application.Transpose(नतिजा) अन्यथा NoBlanks = परिणाम End if End प्रकार्य
फाइल बचत गर्न र Visual Basic Editor बाट Excel मा फर्कन नबिर्सनुहोस्। हाम्रो उदाहरणमा यो प्रकार्य प्रयोग गर्न:
- खाली कक्षहरूको पर्याप्त दायरा चयन गर्नुहोस्, उदाहरणका लागि F3:F10।
- मेनूमा जानुहोस् घुसाउनुहोस् - प्रकार्य (घुसाउनुहोस् - कार्य)वा बटनमा क्लिक गर्नुहोस् प्रकार्य घुसाउनुहोस् (समावेश घुसाउनुहोस्) ट्याब सूत्र (सूत्रहरू) Excel को नयाँ संस्करणहरूमा। श्रेणीमा प्रयोगकर्ता परिभाषित (प्रयोगकर्ता परिभाषित) हाम्रो कार्य चयन गर्नुहोस् खाली छैन.
- प्रकार्य तर्कको रूपमा voids (B3:B10) को साथ स्रोत दायरा निर्दिष्ट गर्नुहोस् र थिच्नुहोस् Ctrl+Shift+Enterएरे सूत्रको रूपमा प्रकार्य प्रविष्ट गर्न।
:
- साधारण म्याक्रोको साथ एकै पटक तालिकामा सबै खाली पङ्क्तिहरू मेटाउँदै
- PLEX एड-अन प्रयोग गरेर एकै पटक कार्यपत्रमा सबै खाली पङ्क्तिहरू हटाउँदै
- सबै खाली कक्षहरू छिटो भर्नुहोस्
- म्याक्रोहरू के हुन्, VBA मा म्याक्रो कोड कहाँ घुसाउने