د غوښتنلیک لپاره په بصری اساس کې صفونه

د غوښتنلیک لپاره په بصری اساس کې سرې هغه جوړښتونه دي چې معمولا د ورته ډول اړوند متغیرونو سیټونه ساتي. د سري ننوتلو ته د دوی د شمیري شاخص لخوا لاسرسی کیږي.

د مثال په توګه، د 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 فعال ایکسل کاري پاڼه.

د i = 1 څخه تر 20 حجرو (i,1) لپاره. ارزښت = ټیم_غړي (i) بل i

په ښکاره ډول، د داسې صف سره کار کول چې د 20 نومونه ذخیره کوي د 20 جلا متغیرونو کارولو په پرتله خورا لږ پیچلي او ډیر درست دي. مګر که دا نومونه 20 نه وي، مګر 1000؟ او که، سربیره پردې، دا اړینه ده چې تخلصونه او سرپرستان په جلا توګه وساتئ؟! دا روښانه ده چې دا به ژر تر ژره په بشپړ ډول ناممکن شي چې د VBA کوډ کې د ډیټا دومره مقدار اداره کول پرته د صف له مرستې پرته.

په Excel Visual Basic کې څو اړخیز سرې

پورته بحث شوي بصري بنسټیز سرې یو اړخیز ګڼل کیږي. دا پدې مانا ده چې دوی د نومونو ساده لیست ذخیره کوي. په هرصورت، صفونه کیدای شي ډیری ابعاد ولري. د مثال په توګه، یو دوه اړخیز سرې د ارزښتونو د شبکې سره پرتله کیدی شي.

راځئ چې ووایو تاسو غواړئ د جنوري لپاره د 5 مختلف ټیمونو لپاره د ورځني پلور ارقام خوندي کړئ. دا به دوه اړخیزه صف ته اړتیا ولري چې د 5 ورځو لپاره د 31 سیټونو میټریکونو مشتمل وي. راځئ چې د دې په څیر یو صف اعلان کړو:

Dim Jan_Sales_figures (1 څخه تر 31 پورې، 1 څخه تر 5 پورې) د اسعارو په توګه

د صف عناصرو ته د لاسرسي لپاره جان_پلورل_شو، تاسو اړتیا لرئ دوه شاخصونه وکاروئ چې د میاشتې ورځ او د قوماندې شمیره په ګوته کوي. د مثال په توګه، د یو عنصر پته چې د پلور ارقام لري ۲-اوښ لپاره ټیمونه 15م جنوري به په دې ډول لیکل کیږي:

جان_پلورل_شمیر(۱۵،۲)

په ورته ډول، تاسو کولی شئ د 3 یا ډیرو ابعادو سره یو سري اعلان کړئ - یوازې د صف اعالمیه کې اضافي ابعاد اضافه کړئ او د دې صف عناصرو ته راجع کولو لپاره اضافي شاخصونه وکاروئ.

په Excel Visual Basic کې د صفونو اعلان کول

د دې مقالې په پیل کې، موږ دمخه په VBA کې د صفونو اعلانولو ډیری مثالونو ته کتنه کړې، مګر دا موضوع د نږدې لید مستحق دي. لکه څنګه چې ښودل شوي، یو اړخیز سرې د دې په څیر اعلان کیدی شي:

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 عناصرو لړۍ اعلانوي.

ورته قواعد پلي کیږي کله چې د څو اړخیز بصری اساسی صفونو اعلان کول. لکه څنګه چې دمخه په یوه بیلګه کې ښودل شوي، کله چې دوه اړخیز سري اعلان کړئ، د هغې د ابعاد شاخصونه د کوما په واسطه جلا کیږي:

Dim Jan_Sales_figures (1 څخه تر 31 پورې، 1 څخه تر 5 پورې) د اسعارو په توګه

په هرصورت، که تاسو د صف دواړو ابعادو لپاره د پیل شاخص مشخص نه کړئ او دا یې په لاندې ډول اعلان کړئ:

Dim Jan_Sales_figures(31, 5) د اسعارو په توګه

بیا دا ننوتنه به د دوه اړخیزه سرې په توګه وګڼل شي، لومړی ابعاد د 32 څخه تر 0 پورې شاخصونو سره 31 عناصر لري، او د سرې دویم ابعاد د 6 څخه تر 0 پورې شاخصونو سره 5 عناصر لري.

متحرک صفونه

په پورته مثالونو کې ټول صفونه د ابعادو یو ثابت شمیر لري. په هرصورت، په ډیری قضیو کې موږ دمخه نه پوهیږو چې زموږ صف باید څه اندازه وي. موږ کولی شو د لوی صف په اعلانولو سره له وضعیت څخه ووځو، د هغې اندازه به یقینا زموږ د دندې لپاره د اړتیا څخه لوی وي. مګر دا ډول حل به ډیری اضافي حافظې ته اړتیا ولري او کولی شي برنامه ورو کړي. یو غوره حل شتون لري. موږ کولی شو یو متحرک صف وکاروو - دا یو سرنی دی چې اندازه یې د میکرو اجرا کولو په جریان کې څو ځله تنظیم او بدل کیدی شي.

یو متحرک صف د خالي قوسونو سره اعلان شوی، لکه:

Dim Team_Members() د تار په توګه

بیا ، تاسو اړتیا لرئ د بیان په کارولو سره د کوډ اجرا کولو پرمهال د صف ابعاد اعلان کړئ ریډیم:

د ریډیم ټیم_غړي (1 څخه تر 20 پورې)

او که د کوډ اجرا کولو په جریان کې تاسو اړتیا لرئ د صف اندازه بیا بدله کړئ ، نو تاسو کولی شئ د ری ډیم بیان بیا وکاروئ:

که د ټیم_سایز> 20 بیا د ټیم_غړیو ته ریډیم کړئ (1 د ټیم_سایز څخه) پای که

په یاد ولرئ چې په دې ډول د متحرک صف له سره تنظیم کول به په صف کې ذخیره شوي ټول ارزښتونه له لاسه ورکړي. د دې لپاره چې دمخه په صف کې ډیټا ذخیره کړئ ، تاسو اړتیا لرئ کلیدي وکاروئ ساتللکه څنګه چې لاندې ښودل شوي:

که د ټیم_سایز> 20 بیا بیا د ټیم_غړیو ساتنه وکړئ (1 د ټیم_سایز څخه) پای که

له بده مرغه کلیدي ساتل یوازې د سرې ابعاد د پورتنۍ حد بدلولو لپاره کارول کیدی شي. د سرې ټیټ حد په دې ډول نشي بدلیدلی. همچنان ، که چیرې صف څو اړخونه ولري ، نو د کلیمې کارولو سره ساتل، یوازې د صف وروستی ابعاد بیا اندازه کیدی شي.

یو ځواب ورکړئ ووځي