ايپليڪيشن لاءِ Visual Basic ۾ Arrays

ايپليڪيشن لاءِ Visual Basic ۾ Arrays اهي ڍانچي آهن جيڪي عام طور تي ساڳئي قسم جي لاڳاپيل متغيرن جا سيٽ محفوظ ڪن ٿيون. صف جون داخلائون انهن جي عددي انڊيڪس ذريعي پهچن ٿيون.

مثال طور، اتي 20 ماڻهن جي هڪ ٽيم آهي جن جا نالا VBA ڪوڊ ۾ بعد ۾ استعمال لاءِ محفوظ ڪرڻ گهرجن. هر هڪ نالو رکڻ لاءِ صرف 20 متغيرن جو اعلان ڪري سگهي ٿو، جهڙوڪ:

Dim Team_Member1 As String Dim Team_Member2 As String... Dim Team_Member20 As String

پر توھان استعمال ڪري سگھوٿا گھڻو سادو ۽ وڌيڪ منظم طريقو ـ ٽيم جي ميمبرن جي نالن جي لسٽ کي 20 متغيرن جي صف ۾ ذخيرو ڪريو جھڙوڪ اسٽرنگ:

Dim Team_Members (1 کان 20) اسٽرنگ جي طور تي

مٿي ڏيکاريل لائن ۾، اسان هڪ صف جو اعلان ڪيو آهي. ھاڻي اچو ته ان جي ھر عنصر لاءِ ھڪ قدر لکون، جھڙوڪ:

Team_Members(1) = "جان سمٿ"

هڪ صف ۾ ڊيٽا کي محفوظ ڪرڻ جو هڪ اضافي فائدو، الڳ متغير استعمال ڪرڻ جي مقابلي ۾، ظاهر ٿئي ٿو جڏهن اهو ضروري آهي ته صف جي هر عنصر تي ساڳيو عمل انجام ڏيو. جيڪڏهن ٽيم جي ميمبرن جا نالا 20 الڳ متغيرن ۾ محفوظ ڪيا ويا، ته پوءِ هر دفعي لکڻ لاءِ ڪوڊ جون 20 لائينون لڳنديون ته جيئن انهن مان هر هڪ تي ساڳيو عمل ڪيو وڃي. بهرحال، جيڪڏهن نالا هڪ صف ۾ محفوظ ڪيا ويا آهن، ته پوء توهان انهن مان هر هڪ سان گهربل عمل انجام ڏئي سگهو ٿا هڪ سادي لوپ استعمال ڪندي.

اهو ڪيئن ڪم ڪري ٿو هيٺ ڏيکاريل آهي ڪوڊ مثال سان جيڪو هر ٽيم ميمبر جا نالا ترتيب سان ڪالمن سيلز ۾ ڇپائي ٿو. A فعال Excel ورڪ شيٽ.

i = 1 کان 20 سيلز (i,1) لاءِ. Value = Team_Members(i) اڳيون i

ظاهر آهي، هڪ صف سان ڪم ڪرڻ جيڪو 20 نالن کي ذخيرو ڪري ٿو، 20 الڳ متغيرن کي استعمال ڪرڻ کان تمام گهٽ مشڪل ۽ وڌيڪ صحيح آهي. پر جيڪڏهن اهي نالا 20 نه، پر 1000 هجن؟ ۽ جيڪڏهن، ان کان علاوه، اهو ضروري آهي ته نالا ۽ سرپرستي الڳ الڳ رکڻ لاء؟! اهو واضح آهي ته اهو جلد ئي مڪمل طور تي ناممڪن ٿي ويندو ته VBA ڪوڊ ۾ ڊيٽا جي اهڙي مقدار کي ترتيب ڏيڻ بغير ڪنهن صف جي مدد کان سواء.

Excel Visual Basic ۾ ملٽي ڊئمنشنل صفون

مٿي بيان ڪيل بصري بنيادي صفن کي هڪ طرفي سمجهيو وڃي ٿو. هن جو مطلب اهو آهي ته اهي نالن جي هڪ سادي فهرست محفوظ ڪن ٿا. بهرحال، صفن ۾ ڪيترائي طول و عرض ٿي سگھن ٿا. مثال طور، هڪ ٻه-dimensional صف قدر جي گرڊ سان مقابلو ڪري سگهجي ٿو.

اچو ته چئو ته توهان 5 مختلف ٽيمن لاءِ جنوري لاءِ روزاني سيلز جي انگن اکرن کي بچائڻ چاهيو ٿا. ان لاءِ 5 ڏينهن لاءِ ميٽرڪس جا 31 سيٽن تي مشتمل هڪ ٻه طرفي صف جي ضرورت پوندي. اچو ته هن طرح هڪ صف جو اعلان ڪريون:

Dim Jan_Sales_Figures (1 کان 31، 1 کان 5) ڪرنسي جي طور تي

صفن جي عناصر تائين رسائي حاصل ڪرڻ لاء جان_سيلز_فيگرز، توھان کي استعمال ڪرڻ جي ضرورت آھي ٻه انڊيڪسس مھينا جو ڏينھن ۽ حڪم نمبر. مثال طور، هڪ عنصر جو پتو جنهن ۾ سيلز جا انگ اکر شامل آهن 2- اوهه لاء ٽيمون 15ع جنوري هن ريت لکيو ويندو:

Jan_Sales_Figures(15, 2)

ساڳيءَ طرح، توھان 3 يا وڌيڪ طول و عرض سان ھڪڙي صف جو اعلان ڪري سگھو ٿا - صرف صف جي اعلان ۾ اضافي طول و عرض شامل ڪريو ۽ ھن صف جي عناصرن کي حوالو ڏيڻ لاءِ اضافي انڊيڪس استعمال ڪريو.

Excel Visual Basic ۾ Arrays جو اعلان

هن آرٽيڪل ۾ اڳ ۾، اسان اڳ ۾ ئي ڪيترن ئي مثالن کي ڏٺو آهي VBA ۾ arrays جو اعلان، پر هي موضوع هڪ ويجهي نظر جو مستحق آهي. جيئن ڏيکاريل آهي، هڪ هڪ-dimensional صف هن طرح بيان ڪري سگهجي ٿو:

Dim Team_Members (1 کان 20) اسٽرنگ جي طور تي

اهڙو اعلان VBA مرتب ڪندڙ کي ٻڌائي ٿو ته صف ٽيم_ميمبرز 20 متغيرن تي مشتمل آھي جيڪي 1 کان 20 تائين انڊيڪس تي پھچائي سگھجن ٿا. بهرحال، اسان شايد 0 کان 19 تائين پنھنجي ايري ويريبلز کي نمبر ڏيڻ لاءِ سوچي سگھون ٿا، ان صورت ۾ اِريءَ کي ھن طرح بيان ڪيو وڃي:

Dim Team_Members (0 کان 19) اسٽرنگ جي طور تي

حقيقت ۾، ڊفالٽ طور، صفن جي عناصرن جو تعداد 0 کان شروع ٿئي ٿو، ۽ صف جي اعلان ۾، ابتدائي انڊيڪس بلڪل بيان نه ٿي سگھي، ھن وانگر:

Dim Team_Members(19) اسٽرنگ جي طور تي

VBA ڪمپلر اهڙي داخلا جو علاج ڪندو جيئن 20 کان 0 تائين اشارن سان 19 عناصر جي صف جو اعلان ڪري.

ساڳيا ضابطا لاڳو ٿين ٿا جڏهن ملٽي ڊيمانشنل Visual Basic arrays جو اعلان ڪيو وڃي. جيئن اڳ ۾ ئي هڪ مثال ۾ ڏيکاريل آهي، جڏهن هڪ ٻه-dimensional صف جو اعلان ڪندي، ان جي طول و عرض جا اشارا ڪاما سان جدا ڪيا ويا آهن:

Dim Jan_Sales_Figures (1 کان 31، 1 کان 5) ڪرنسي جي طور تي

بهرحال، جيڪڏهن توهان صف جي ٻنهي طول و عرض لاء هڪ شروعاتي انڊيڪس بيان نه ڪيو ۽ ان کي هن طرح بيان ڪيو:

Dim Jan_Sales_Figures(31, 5) جيئن ڪرنسي

پوءِ ھن داخل ٿيڻ کي ٻه-dimensional array سمجھيو ويندو، جنھن جي پھرئين ماپ ۾ 32 کان 0 تائين انڊيڪس سان گڏ 31 عناصر شامل آھن، ۽ ٻي ڊاءِمينشن ۾ 6 عناصر شامل آھن جن جي انڊيڪس 0 کان 5 تائين آھن.

متحرڪ صفون

مٿين مثالن ۾ سڀني صفن ۾ طول و عرض جو هڪ مقرر تعداد آهي. جڏهن ته، ڪيترن ئي ڪيسن ۾ اسان کي اڳ ۾ ئي خبر ناهي ته اسان جي صف ڪهڙي سائيز هجڻ گهرجي. اسان صورتحال مان ٻاهر نڪري سگهون ٿا هڪ وڏي صف جو اعلان ڪندي، جنهن جي سائيز يقيني طور تي اسان جي ڪم لاء ضروري کان وڌيڪ هوندي. پر اهڙي حل کي تمام گهڻو اضافي ياداشت جي ضرورت پوندي ۽ پروگرام کي سست ڪري سگهي ٿو. اتي هڪ بهتر حل آهي. اسان هڪ متحرڪ صف استعمال ڪري سگهون ٿا - هي هڪ صف آهي جنهن جي سائيز کي مقرر ڪري سگهجي ٿو ۽ ميڪرو جي عمل دوران ڪيترا ڀيرا تبديل ڪري سگهجي ٿو.

هڪ متحرڪ صف کي خالي قوس سان اعلان ڪيو ويو آهي، جهڙوڪ:

Dim Team_Members() اسٽرنگ جي طور تي

اڳيون، توهان کي بيان ڪرڻ جي ضرورت پوندي صف جي طول و عرض کي استعمال ڪندي ڪوڊ جي عمل دوران ريڊيم:

ريڊيم ٽيم_ميمبر (1 کان 20)

۽ جيڪڏهن ڪوڊ جي عمل جي دوران توهان کي ٻيهر صف جي سائيز کي تبديل ڪرڻ جي ضرورت آهي، ته پوء توهان ٻيهر استعمال ڪري سگهو ٿا ReDim اظهار:

If Team_Size> 20 پوءِ ريڊيم Team_Members(1 کان ٽيم_سائز) ختم ڪريو جيڪڏھن

ذهن ۾ رکو ته هن طريقي سان هڪ متحرڪ صف کي ٻيهر تبديل ڪرڻ جي نتيجي ۾ صف ۾ محفوظ ڪيل سڀني قدرن کي نقصان ٿيندو. اڳ ۾ ئي صف ۾ ڊيٽا کي ذخيرو ڪرڻ لاء، توهان کي لفظ استعمال ڪرڻ جي ضرورت آهي محفوظ ڪريوجيئن هيٺ ڏيکاريل آهي:

If Team_Size> 20 پوءِ ريڊيم محفوظ ڪريو ٽيم_ميمبرز(1 کان ٽيم_سائز) ختم ڪريو جيڪڏھن

بدقسمتي سان لفظ محفوظ ڪريو صرف هڪ صف جي طول و عرض جي مٿين حد کي تبديل ڪرڻ لاء استعمال ڪري سگهجي ٿو. هڪ صف جي هيٺين حد هن طريقي سان تبديل نه ٿي ڪري سگھجي. انهي سان گڏ، جيڪڏهن صف ۾ ڪيترائي طول و عرض آهن، پوء لفظ استعمال ڪندي محفوظ ڪريو, صرف صف جي آخري طول و عرض کي تبديل ڪري سگهجي ٿو.

جواب ڇڏي وڃو