एक्सेल VBA मध्ये 2D अॅरे पुन्हा डिम कसे करावे (2 सोपे मार्ग)

  • ह्याचा प्रसार करा
Hugh West

अ‍ॅरे हा एक व्हेरिएबल आहे जो समान प्रकारचा डेटा ठेवतो. जर डेटाची फक्त एक पंक्ती किंवा एक स्तंभ असेल, तर तो एक-आयामी अॅरे म्हणून ओळखला जातो. तथापि, जेव्हा एकापेक्षा जास्त पंक्ती आणि स्तंभ असतात, तेव्हा त्याला 2D अॅरे म्हणतात. VBA मध्ये अॅरेचा आकार बदलण्यासाठी आम्ही ReDim वापरतो. याव्यतिरिक्त, जुना डेटा अबाधित ठेवण्यासाठी आम्ही ReDim सह संरक्षण कीवर्ड वापरतो. हा लेख तुम्हाला Excel VBA<मध्ये 2 ReDim Preserve ” a 2D अ‍ॅरे झटपट मार्ग दाखवेल. 3> .

सराव कार्यपुस्तिका डाउनलोड करा

ReDim संरक्षित करण्यासाठी मॅक्रो 2D.xlsm

2 सुलभ दृष्टीकोन एक्सेल VBA मध्ये 2D अ‍ॅरे जतन करा

हा तीन पंक्ती आणि दोन स्तंभांसह 2D अॅरे मधून तयार केलेला बेस डेटासेट आहे. प्रथम, आपण हा अॅरे तयार करू. त्यानंतर, आपण या अॅरेमध्ये दुसरा कॉलम जोडू. असे करण्यासाठी आम्ही “ ReDim Preserve ” वापरू. याव्यतिरिक्त, आम्ही हे न वापरल्यास काय होते ते आम्ही दाखवू.

डिफॉल्टनुसार, आम्ही केवळ अॅरेच्या शेवटच्या मितीचा आकार बदलू शकतो (म्हणजे स्तंभ किंवा वरच्या बाउंड). आम्ही अॅरे ट्रान्स्पोज करू, नंतर शेवटचे डायमेंशन बदलू, आणि नंतर एक्सेल VBA मधील 2D अॅरे च्या दोन्ही डायमेन्शनचा आकार बदलण्यासाठी पुन्हा ट्रान्स्पोज करू.

1 ReDim Preserve Last Dimension 2D Array

आम्ही प्रथम 2D अॅरे डायनॅमिक म्हणून परिभाषित करू. नंतर, ReDim स्टेटमेंट वापरून, आपण एक तयार करूतीन पंक्ती आणि दोन स्तंभांसह अॅरे. शेवटी, आम्ही रिझर्व्ह कीवर्ड सह पुन्हा रीडिम विधान वापरू. द्विमितीय अॅरेची वरची सीमा वाढवा.

चरण:

  • सुरुवात करण्यासाठी, ALT+F11 दाबा VBA मॉड्यूल विंडो आणण्यासाठी. वैकल्पिकरित्या, तुम्ही हे डेव्हलपर टॅब मधून करू शकता →  निवडा Visual Basic .
  • नंतर, <वरून 1> इन्सर्ट टॅब → निवडा मॉड्युल . आम्ही येथे VBA कोड टाइप करू.

  • पुढे, खालील कोड मॉड्युल मध्ये टाइप करा. विंडो.
5631

VBA कोड ब्रेकडाउन

  • प्रथम, आम्ही कॉल करत आहोत उपप्रक्रिया Redim_Preserve_2D_Array_Row ”.
  • नंतर, आम्ही Our_Array व्हेरिएबल डायनॅमिक अॅरे म्हणून घोषित करतो.
  • पुढे, आपण अॅरेचा आकार परिभाषित करतो. खालची सीमा 3 आहे, वरची सीमा 2 आहे आणि दोन्ही 1 पासून सुरू होतात.
  • मग, आम्ही अॅरेला मूल्ये नियुक्त करतो. .
  • त्यानंतर, आम्ही मूल्ये C6:D8 सेल रेंजमध्ये इनपुट करतो.
  • त्यानंतर, आम्ही कोड कार्यान्वित करेल.
  • तर, सेव्ह मॉड्युल आणि रन<दाबा 3> .

  • परिणामी, ते परिभाषित सेल श्रेणींमध्ये मूल्ये परत करेल. आपण पाहू शकतो की “ राशेल ” पंक्ती 1 आणि स्तंभ 1 स्थितीत आहे,जे VBA कोडमध्ये ( 1,1 ) म्हणून परिभाषित केले होते.

  • आता, आपण अॅरेचा आकार बदलू.
  • तर, हे मागील कोडमध्ये जोडा आणि पहिले Range.Value स्टेटमेंट काढून टाका. शिवाय, कोड कसा दिसतो ते तुम्ही खालील स्नॅपशॉटवरून पाहू शकता.
9324

  • येथे, आम्ही ( ) पासून वरची सीमा वाढवली आहे. 1 प्रति 2 ) ते ( 1 प्रति 3 ) 1<4 द्वारे>.
  • मग, आपण अॅरेमध्ये व्हॅल्यूज जोडल्या आहेत.
  • आता जर आपण हा कोड कार्यान्वित केला, तर आधीच्या व्हॅल्यूज जतन केलेल्या नाहीत. ते मागील मूल्यांसाठी रिक्त परत येईल.

  • आता, आम्ही प्रिझर्व्ह कीवर्ड जोडून याचे निराकरण करू शकतो. 1>ReDim स्टेटमेंट .
  • शेवटी, आमचा पूर्ण कोड हा असेल.
4853

  • आता, जर आपण हा कोड चालवा, नंतर आउटपुट असे होईल. अशा प्रकारे, आम्ही एक्सेल VBA मधील 2D अॅरे चे शेवटचे परिमाण “ ReDim Preserve ” करू.. आता, पुढील पद्धत तुम्हाला “ ReDim कसे करायचे ते दाखवेल. ” जतन करा आणि अॅरेच्या दोन्ही आयामांचा आकार बदला.

अधिक वाचा: युनिक मिळवण्यासाठी VBA एक्सेलमधील अ‍ॅरेमधील स्तंभातील मूल्ये (3 निकष)

समान वाचन

  • एक्सेलमध्ये टेबल अॅरेला नाव कसे द्यावे (सह सोप्या पायऱ्या)
  • एक्सेल व्हीबीए CSV फाइल अ‍ॅरेमध्ये वाचण्यासाठी (4 आदर्श उदाहरणे)
  • एक्सेलमधील श्रेणी अ‍ॅरेमध्ये कसे रूपांतरित करावेVBA (3 मार्ग)
  • Excel VBA: अॅरेमधून डुप्लिकेट काढा (2 उदाहरणे)

2. ReDim दोन्ही डायमेंशन 2D अॅरे मध्ये जतन करा Excel VBA

या अंतिम पद्धतीमध्ये, आम्ही तुम्हाला आकार बदलण्यासाठी आणि 2D अॅरे ReDim Preserve ” करण्यासाठी पायऱ्या दाखवू. येथे, आपण अॅरेच्या खालच्या बाउंडचा आकार बदलण्यासाठी VBA Transpose फंक्शन वापरणार आहोत. जर आपण पहिल्या पद्धतीमध्ये अॅरेच्या खालच्या बाउंडचा आकार बदलण्याचा प्रयत्न केला, तर आपल्याला “ Subscript out of range ” त्रुटी दिसेल. आता, आणखी अडचण न ठेवता, आपण हे कसे निश्चित करू शकतो आणि आपले ध्येय कसे साध्य करू शकतो ते पाहू.

चरण:

  • प्रथम, पहिल्या पद्धतीत दाखवल्याप्रमाणे , मॉड्युल विंडो आणा.
  • दुसरं, कोडच्या खालील ओळी जोडा पहिला कोड.
7508
  • शिवाय, अंतिम पद्धतीचा कोड असा दिसतो.
5111

VBA कोड ब्रेकडाउन

  • प्रथम, आम्ही उप प्रक्रिया ReDim_Preserve_2D_Array_Both_Dimensions ” कॉल करत आहोत. .
  • तर, VBA ट्रान्सपोज फंक्शन पर्यंतचे उर्वरित कोड पहिल्या कोड प्रमाणेच आहेत.
  • येथे, आम्ही अॅरे ट्रान्सपोज करत आहोत.
  • मग, आपण अॅरेची वरची बाउंड वाढवत आहोत.
  • त्यानंतर, आपण अॅरे पुन्हा ट्रान्सपोज करतो. त्यामुळे, शेवटी ते खालची सीमा बदलेल.
  • पुढे, आम्ही आकार बदललेल्या अॅरेसाठी मूल्ये इनपुट करतो.जुना डेटा जतन करणे.
  • शेवटी, आम्ही सेल श्रेणीमध्ये मूल्ये लिहितो C6:E9 .
  • नंतर म्हणजे, पहिल्या पद्धतीत दाखवल्याप्रमाणे , हा कोड चालवा.
  • अशा प्रकारे, कोड कसे जतन करतो हे आपण कल्पना करू शकतो. 2D अॅरे ReDim Preserve ” आणि VBA Transpose फंक्शन वापरून.

अधिक वाचा: VBA to Excel मधील Array (3 पद्धती)

लक्षात ठेवण्यासारख्या गोष्टी

  • ReDim Preserve अॅरेची खालची सीमा बदलू शकत नाही. असे करण्यासाठी, आम्हाला Transpose फंक्शन वापरावे लागेल.
  • आम्ही डायनॅमिक अॅरेवर फक्त ReDim वापरू शकतो.
  • <16

    निष्कर्ष

    आम्ही तुम्हाला Excel VBA मध्ये “ ReDim Preserve ” a 2D अॅरे करण्याचे दोन द्रुत मार्ग दाखवले आहेत. या पद्धतींबाबत तुम्हाला काही समस्या येत असल्यास किंवा माझ्यासाठी काही अभिप्राय असल्यास, खाली टिप्पणी करण्यास मोकळ्या मनाने. शिवाय, अधिक एक्सेल-संबंधित लेखांसाठी तुम्ही आमच्या ExcelWIKI साइटला भेट देऊ शकता. वाचल्याबद्दल धन्यवाद, उत्कृष्ट रहा!

ह्यू वेस्ट हे एक अत्यंत अनुभवी एक्सेल ट्रेनर आणि विश्लेषक आहेत ज्याचा उद्योगात 10 वर्षांपेक्षा जास्त अनुभव आहे. त्यांनी अकाउंटिंग आणि फायनान्समध्ये बॅचलर डिग्री आणि बिझनेस अॅडमिनिस्ट्रेशनमध्ये पदव्युत्तर पदवी घेतली आहे. ह्यूला शिकवण्याची आवड आहे आणि त्याने एक अद्वितीय शिकवण्याचा दृष्टीकोन विकसित केला आहे ज्याचे अनुसरण करणे आणि समजणे सोपे आहे. एक्सेलच्या त्यांच्या तज्ञ ज्ञानाने जगभरातील हजारो विद्यार्थ्यांना आणि व्यावसायिकांना त्यांची कौशल्ये सुधारण्यास आणि त्यांच्या करिअरमध्ये उत्कृष्ट कामगिरी करण्यास मदत केली आहे. त्याच्या ब्लॉगद्वारे, ह्यू आपले ज्ञान जगासोबत सामायिक करतो, व्यक्ती आणि व्यवसायांना त्यांच्या पूर्ण क्षमतेपर्यंत पोहोचण्यात मदत करण्यासाठी विनामूल्य एक्सेल ट्यूटोरियल आणि ऑनलाइन प्रशिक्षण ऑफर करतो.