ماکرو در اکسل- بخش پنجم: نوشتن یک ماکرو

اسماعیل میرزایی:

در بخش اول توضیح داده  شد که برای ایجاد ماکرو دو روش وجود دارد، روش اول ضبط ماکرو که توضیح داده شد و روش دوم نوشتن کد برنامه در محیط VB که در این بخش با یک مثال توضیح داده میشود.

 یک فایل جدید excel بنام test1 ایجاد نمایید. در سلولهای A1 تا A10  نام کوچک ده نفر و در سلولهای B1 تاB10 نام خانوادگی آن ده نفر را وارد نمایید. به محیط VB بروید. در پنجره project window پس از دابل کلیک برروی VBAProject(test1.xls) از منوی باز شده گزینه Insert و سپس زیر منوی module  را انتخاب کنید. با این ترتیب در پنجره code window مدول جدید ایجاد میشود. در مدول ایجاد شده عبارت SubProtest1() را تایپ و دکمه enter  را فشار دهید.عبارت End sub در خط بعد ظاهر میشود.بین این دو عبارت برنامه زیر را تایپ کنید:

 

Sheet1.Select
Range("C1").Select

Do Until Selection.Offset(0, -2).Value = " "
   Selection.Value = Selection.Offset(0, -2).Value & " " & Selection.Offset(0, -1)
   Selection.Offset(1, 0).Select
Loop

Range("A1").Select

به محیط excel برگشته و ماکروی فوق را اجرا نمایید. در نتیجه اجرای ماکروی فوق، در سلولهای C1 تا C10 ترکیب نام و نام خانوادگی هر فرد درج شده است.

توضیح برنامه:

خط اول بمعنی انتخاب sheet1 از فایل مورد نظر و خط دوم انتخاب سلول C1 میباشد. خطوط سوم تا ششم دستورات ایجاد حلقه است که شرط پایان حلقه در خط سوم تعریف شده (تا زمانیکه ممحتوای سلولی که بفاصله دو سلول سمت چپ سلول انتخاب شده است (یعنی سلول A1 ) تهی نباشد حلقه ادامه پیدا کند.) خطوط چهارم و پنجم بدنه حلقه میباشد. خط چهارم یک دستور انتساب است که بر اساس آن محتوای سلول انتخاب شده برابر است بامحتوای سلول دوم از سمت چپ سلول انتخاب شده ، یک فاصله خالی(" " ) و محتوای سلول اول از سمت چپ سلول انتخاب شده . خط پنجم دستور رفتن از سلول انتخاب شده به یک سلول پایین تر ودستور آخر انتخاب سلول A1 پس از اتمام حلقه میباشد.