خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش برنامه نویسی اکسل : حلقه با گام معکوس (Looping In Reverse with Step)

آموزش برنامه نویسی اکسل : حلقه با گام معکوس (Looping In Reverse with Step)
نویسنده : امیر انصاری
یک درخواست متداول که کاربران اکسل دارند اینست که یک ردیف خالی را در محلی که مقدار سلول آن با مقدار سلول پایینی اش متفاوت باشد، اضافه کنند. در شکل زیر، جدول بر اساس منطقه (Region) در ستون A مرتب سازی شده است، و درخواست اینست که به صورت بصری منطقه ها را با یک ردیف خالی در محل هایی که منطقه ها تغییر کرده اند، مشخص سازید.

سیستم یکپارچۀ سازمانی راهکار



آموزش برنامه نویسی اکسل : حلقه با گام معکوس (Looping In Reverse with Step)
وقتی که می خواهید مشابه این صورت مساله مجموعه ای از ردیف ها را درج نمایید، بهتر است که حلقه از انتهای جدول شروع به کار کند، و به سمت ابتدای جدول حرکت نماید. به این معنی که ردیف مورد ارجاع شما در حلقه کاهش یابد و افزایش پیدا نکند، چرا که ردیف آغازین شما ردیف 18 (آخرین ردیف در این مثال) می باشد و ردیف آخر شما ردیف 2 (اولین ردیف شامل داده در این مثال) می باشد.

به یاد بیاورید زمانی که VBA یک حلقۀ For…Next را اجرا می کرد، مقدار شمارنده شما به صورت پیش فرض هر بار 1 واحد افرایش می یافت. در حلقه های For…Next شما می توانید یک مقدار افزایشی و یا کاهشی جایگزین را با استفاده از کلمه کلیدی Step که استفاده از آن اختیاری می باشد، تعیین نمایید. شما می توانید Step (گام) را به میزان عددی که می خواهید در هر بار تکرار حلقه آنقدر جلو یا عقب بروید تعیین نمایید.

در این مثال، هر سلول در ستون A از ردیف 18 تا ردیف 2 تک به تک مورد بررسی قرار می گیرد، بنابراین گام حلقه می تواند با عدد 1- تعیین گردد تا هر بار یک واحد کاهش پیدا کند. در اینجا یک ماکرو داریم که این کار را برای شما انجام می دهد:

Sub InsertRows()
'Declare your Integer or Long variable.
Dim xRow As Long
'Open a For Each loop.
For xRow = 18 To 3 Step -1
'Command(s) to be executed.
If Range("A" & xRow).Value <> Range("A" & xRow - 1) Then
Rows(xRow).Resize(1).Insert
End If
'Loop to the next iteration.
Next xRow
End Sub


آموزش قبلی : آموزش برنامه نویسی اکسل : خروج از حلقه



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.