جلسه سوم- شروع برنامه نویسی در اکسل

جلسه سوم                                   برنامه نویسی در اکسل

 

ایجاد دکمه جدید در صفحه اکسل:

از ابزار های DESIGN MODE  در منوی ماکر COMMAND BUTTON  را انتخاب می کنیم

دکمه جدید را انتخاب کرده و بر روی آن دابل کلیک می کنیم تا صفحه ویژوال بیسیک باز شود.

در صفحه ایجاد شده دستور زیر را وارد می کنیم:

Range("A1:A10").Value = 10

 

با این دستور به اکسل گفته شده که A1 تا A10   را گرفته و به آن مقدار 10 را بدهد.

از عبارت  RANGE("@") برای مشخص کردن ناحیه ای در اکسل و از عبارت VALUE=.  برای تغییر مقدار سلولها استفاده می کنیم.

حال از این صفحه خارج شده و بر روی دکمه گونیا(در منوی ویژوال بیسیک نوار خاکستری رنگ بالای صفحه) کلید کرده و EXIT DESIGN MODE را می زنیم.

بر روی دکمه جدید راست کلید کرده و مشخصات را را انتخاب کرده و در این حالت مشخصات دکمه از قبیل رنگ و نام و ... را می توان تغییر داد.

حال از این صفحه خارج شده و بر روی دکمه گونیا(در منوی ویژوال بیسیک نوار خاکستری رنگ بالای صفحه) کلید کرده و EXIT DESIGN MODE را می زنیم.

وقتی که از حالت DESIGN خارج شدیم حال بر روی دکمه کلیک کرده و مشاهده می کنیم که درسلهای مشخص شده ارزش عددی 10 را قرار می دهد.

می توان به جای 10 یک عبارت را در داخل "   "  قرار داد و در این حالت به جای 10 آن عبارت نوشته می شود.

توجه: در صورتی که از علامت '  در ابتدای یک خط برنامه نویسی در محیط VB استفاده شود آن خط سبز شده و عملیاتی بر روی آن خط اجرا نخواهد شد. این خط اصطلاحا Comment (توضیحات)‌نامیده می شود. Comment حالت اجرایی ندارد و از آن برای ارایه توضیحات استفاده میشود. Comment ها به خوانایی برنامه بسیار کمک میکنند.

 

دستور زیر را می نویسیم:

Range("D1").Value = Range("B1") + Range("C1")

دستور زیر را در یک سط دیگر می نویسیم:

Range("E1").Value = "=A1+A2"

ملاحظه می شود که در سطر 1E ارزشهای موجود در A1 و A2 جمع زده می شود.

نکته : به علامت = در داخل کوتیشن توجه شود.

اگر به محیط اکسل بازگردیم و درسلولهایی که فرمول نوشته می شود توجه کنیم دیده می شود که محتوای این سلولها با علامت = شروع می شود. یعنی اکسل به محتوای یک سلول نگاه میکند اگر با علامت = شروع شود آنرا فرمول تلقی می کند و نه مقدار. پس ما هم از همین روش استفاده میکنیم و وقتی در نظر داریم که فرمولی را در یک سلول وارد کنیم می بایست با علامت = شروع کنیم.

دستور SELECT

با انجام این دستور سلهای مورد اشاره انتخاب می شود می توان بعد از  RANGE از دستور بالا استفاده نمود.

دستور زیر را وارد کنید:

Range("F1:F10").Select

و دکمه را RUN  می کنیم.ملاحظه می شود که سطرهای مورد اشاره های انتخاب شد.

می توان به جای : از علامت ,  استفاده نمود که در این حالت به معنی AND می باشد.

مواردی که در بالا اشاره گردید خلاصه ای از سه دستور RANGE VALUE SELECT بود که اشاره ای مختصر به آن گردید.

مطالبی که ارایه شد مقدمه ای  بود تا آمادگی لازم برای ورود به مبحث برنامه نویسی ایجاد شود.

 

 

1.            شروع برنامه نویسی

روشهای مختلفی برای شروع  و ایجاد یک برنامه با VBA وجود دارد. روش اصلی و مستقیم  نوشتن کدها در داخل  ویرایشگر VB  یا همان     VBE  می‌باشد. یک روش ساده دیگر نیز وجود دارد و آن ایجاد یک command button بر روی صفحه گسترده محیط اکسل و شروع برنامه نویسی با کلیک بر روی  آن است. کار را با روش اول شروع می‌کنیم

1.1        روش اصلی: ایجاد و اجرای یک برنامه در VBE

برای ایجاد یک برنامه در محیط برنامه نویسی اکسل مراحل زیرانجام می‌شود:

1- ورود به محیط برنامه نویسی یا همان Visual Basic Editor

 برای انجام اینکار چند روش وجود دارد:

·        استفاده از کلیدهای میانبر:  F11  + ALT

·        استفاده از منوی اکسل:  Tools-> Macro-> Visual Basic Editor

·        استفاده از ToolBar یا همان نوار ابزار Visual Basic و فشردن آیکون Visual Basic Editor

به هر حال با یکی از روشهای فوق وارد محیط برنامه نویسی می‌شویم.

2- ایجاد Module: ورود به  منوی  Insert  و انتخاب گزینه Module  

3- ایجاد یک رویه یا Sub Procedure

نوشتن فرمان (کلمه کلیدی)  Sub ‌ و سپس نام برنامه

فشردن دگمه  Enter   

بلافاصله بطور اتوماتیک فرمان End Sub  در یک خط جدید اضافه می‌شود.

4- نوشتن کدهای برنامه VBA: کدهای برنامه را خط به خط  بین فرمانهای Sub  و End Sub می‌نویسیم.

 

 به عنوان مثال:

Sub MyProgram()

Range("A1:A10").Value = "Visual Basic For Applications"

Range("A11")=10

/ 15 نظر / 387 بازدید
نمایش نظرات قبلی
مریم

واقعا ممنونم. این مطلب تونست به من کمک کنه.

با تشکر از شما

اگه زحمتی نیست یه کتاب مناسب در زمینه برنامه نویسی در اکسا به ما معرفی کنید

رویا

سلام ببخشید میخواستم بپرسم آیا میشه تو اکسل دو تا جدول درست کرد؟ مثل اس کیو ال بینشون ارتباط برقرار کرد؟ و فیلد هایی که میخوایم از جدول ها بر اساس کلید خارجی و ... مرتب کنیم؟؟

مرتضی

با وجود زحمات فراوانی که کشیده شده بنده برای ارتقا’ و پیشرفت و ترقی روز افزون و بالا بردن بهره وری جهت کاهش نواقص و نقایص و مشکلات و ایراداتی که برای رشد و توسعه منابع و کاربردها و ویژگیها و اصول و مبانی و منطق یک کاربری که باید در راستاری مدیریت و کیفیت و سود رسانی دو جانبه و پی در پی برای برقراری ارتباطات و مبادلات و مکاشفات در قبال همه آنچه که مربوط میشود از بهبود روز افزون در هر زمینه و طبقه و اقشاری که ناشی از تبادلات فی مابین در بازخوردها و تبادلات و مبادلات انجام گیرد تا نه منابع و نه کاربری و نه رضایت کاربران تحت شعاعع این قضایا قرار نگیرند و هرروزه پرکارتر و با راندمان بالا امور صورت گیرد پیشاپیش از عنایت شما شپاس گزارم چرا که ایشان زحماتشان ستودنیست.

جواد

با تشکر موفق باشید.

مسعود

من یه بانک توی اکسس ساختم که یه ستون بدخی و یه ستون پرداختی دارم توی مانده گیری مشکل دارم میشه توی کدنویسی کمکم کنید؟

رانکوه

با سلام ضمن تشکر من یک سوال داشتم آیا می توانید به من کمک کنید ؟ من میخواستم برروی حرکت موس روی یک نمودار برنامه بنویسم . یعنی وقتی موس روی نمودار حرکت داده می شود یک برنامه اجرا شود . از طریق ماکرونویسی چگونه می شود . ضمناً ماکروها در اکس به صورت پیش فرض روی کلیک موس فعال هستند

محسن

خیلی ممنون از اطلاعات وبلاگتون . چقدر خوب است که برای کمک به جامعه ابتدا از خود شروع کنیم همین کاری که شما کرده اید برای شما دوست عزیز آرزوی موفقیت میکنم

hasan

سلام، خیلی ممنوم بسیار عالی توضیح دادید