آموزش و کاربرد حلقه For Each در ماکرونویسی

آموزش و کاربرد حلقه For Each در ماکرونویسی

وبسایت آموزشی اکسل

با آموزش و کاربرد حلقه For Each در ماکرونویسی و یک پست دیگر در زمینه ماکرونویسی خدمت شما عزیزان و علاقه مندان به یادگیری زبان برنامه نویسی در محیط اکسل سایت آموزشی excellearn هستیم و امیدواریم این پست آموزشی نیز مورد توجه شما عزیزان قرار گیرد.

آموزش و کاربرد حلقه For Each در ماکرونویسی

یکی از پرکاربردترین و مهم ترین حلقه های زبان برنامه نویسی VBA ، حلقه For Each است که معنای لغوی این عبارت “برای هریک” بوده و وظیفه این حلقه ( For Each ) بررسی کردن یکایک زیرمجموعه های یک مجموعه است .

اجازه بدید در ابتدا ساختار حلقه For Each را بررسی نماییم :

For Each Subset in Collection

Process

Next Subset

در دستور فوق Subset اشاره به زیرمجموعه و عبارت Collection به معنای یک مجموعه است که اگر به فارسی ترجمه کنیم حاصل برابر خواهد بود با “برای هریک از زیرمجموعه های مجموعه .. “ ، دستورات Process اعمال شود .

برای اینکه با کاربرد این حلقه پرکاربرد  ( For Each ) به مثال زیر دقت کنید :

For Each MyCell in Range(“A1:A10”)

MyCell.Font.Name = “B nazanin“

MyCell.Font.Size = 16

MyCell.Font.Bold =true

MyCell.Font.Color=vbRed

Next MyCell

توضیحات دستور فوق :

ما در دستورات فوق با استفاده از حلقه For Each مشخص نمودیم که هدف بررسی کردن یکایک (MyCell ) سلول های محدوده A1:A10 است و دستوراتی که قرار است برای یکایک سلول های ( MyCell ) محدوده اعمال شود به شرح زیر است :

  • ابتدا فونت سلول انتخاب شده به “ B Nazanin “ تغییر کند.
  • در ادامه سایز فونت سلول انتخاب شده به 16 تغییر کند .
  • در ادامه فونت سلول انتخاب شده “Bold” در نظر گرفته شود.
  • و در پایان رنگ سلول انتخاب شده به رنگ قرمز تغییر کند.

یک مثال دیگر از حلقه پرکاربرد For Each داشته باشیم :

من قصد دارم دستوراتی بنویسم که تمام شیت های یک فایل اکسل را به جز شیت فعال ، پنهان نماید از این رو ابتدا نیاز به تعریف یک متغیر از نوع Worksheet داشته و سپس استفاده از حلقه For Each ، دستورات به شرح زیر خواهد بود :

Sub HideSheets()

Dim MySheet As Worksheet

For Each MySheet In ActiveWorkbook.Worksheets

If MySheet.Name <> ActiveSheet.Name Then

MySheet.Visible = xlSheetHidden

End If

Next MySheet

End Sub

توضیحات دستور فوق :

  • ابتدا یک متغیر از نوع  Worksheet  به نام MySheet تعریف مینماییم ( قرار است تک تک شیت های یک فایل اکسل مورد بررسی قرار گیرد )
  • سپس یک حلقه For Each ایجاد نموده و مجموعه ( Collections ) را برابر با شیت های اکسل فعال ( ActiveWorkbook ) قرار میدهیم .
  • حال نیاز به یک شرط داریم که اگر شیتی که درحال بررسی است برابر با شیت فعال نبود ، سپس با استفاده از دستور xlSheetHidden پنهان گردد.

پیشنهاد : اگر به دنبال آموزش های مرتبط با زبان برنامه نویسی VB در محیط اکسل هستید میتوانید از آرشیو برنامه نویسی در اکسل سایت آموزشی excellearn استفاده و همچنین در صورت نیاز میتوانید از مجموعه رایگان ماکرونویسی در محیط اکسل نیز استفاده نمایید.

درصورت داشتن هرگونه انتقاد و پیشنهاد در مورد پست آموزشی ” آموزش و کاربرد حلقه For Each در ماکرونویسی” میتوانید آن را در قسمت نظرات همین پست مطرح و در صورت داشتن هرگونه سوال میتوانید آن را در تالار گفتمان سایت مطرح نمایید.