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

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

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

    ایجاد دکمه جدید در صفحه اکسل:
    از ابزار های 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 ها به خوانایی برنامه بسیار کمک میکنند.

    دستور زیر را می نویسیم:
    کد PHP:
     Range("D1").Value Range("B1") + Range("C1"
    دستور زیر را در یک سط دیگر می نویسیم:
    کد PHP:
     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می*نویسیم.

    به عنوان مثال:
    کد PHP:
    Sub MyProgram()
    Range("A1:A10").Value "Visual Basic For Applications"
    Range("A11")=10
    Range
    ("B11").Value 20
    Range
    ("C11").Value "=A11+B11"
    End Sub 
    5- اجرای برنامه : برای اجرای برنامه چندین روش وجود دارد
    · فشردن کلید F5
    · فشردن آیکن Rub Sub/User Form از Toolbar
    · بازگشت به محیط Excel و استفاده از F11 + ALT 1.2 روش دیگر: ایجاد یک برنامه با استفاده از command button
    در این روش مراحل زیر را انجام می دهیم
    ü ایجاد command button
    برای قرار دادن command button بر روی محیط اکسل مسیر زیر را طی می*کنیم:
    View منوی àToolbaràControl ToolBox
    (البته اگر قبلا نوار ابزار Visual Basic Editor نیز فعال شده باشد میتوانید Control ToolBox را بطورمستقیم از آن انتخاب کنید.)
    بعد از طی مسیر فوق Control ToolBox ظاهر میشود. command button را انتخاب و آنرا بر روی صفحه گسترده محیط اکسل اکسل قرار میدهیم. یک دگمه در محیط اکسل ظاهر میشود.
    ü نوشتن کدهای VBA: با کلیک کردن بر روی command button بلافاصله Visual Basic Editor یا همان VBE ظاهر می*شود. بلافاصله میتوانید دستورات خود را همانند شکل تایپ کنید.
    با دقت در این کدهای VBA ملاحظه می*شود که:
    ü دستور اول مقدار(Value) سلولهای A1 تا A10را با عبارت "Visual Basic for Application" پر می*کند.
    ü دستور بعدی نیز حاصل جمع سلولهای A11 و B11 را در سلول C11 قرار میدهد.
    ü دستور آخر نیز مقدار سلول D11 را نیز با روش دیگری برابر با حاصلجمع A11 وB11 قرار میدهد. با اندکی دقت متوجه می*شویم که این دستور با دستور قبلی متفاوت است.
    خروجی و رابط برنامه

    ü اجرای برنامه: برای اجرای این برنامه به محیط اکسل برمی*گردیم. (میتوان از F11 + ALT*نیز استفاده کرد). با فشردن آیکن Exit Design Mode از Control Toolbox از حالت طراحی خارج می*شویم. پس از آن با کلیک بر روی command button برنامه اجرا می*شود که خروجی آن در شکل نشان داده شده است.


    دستور CELLS:
    این دستور با استفاده از مختصات سلولها آنها را مشخص میکند. به عنوان مثال CELLS(2,5) سطر 2 و ستون 5 یعنی E2را مشخص می کند.
    در دستور: 'Cells(2,5).Value = 15 در سل 2و5 ارزش 15 را قرار می دهد


    دو دستور زیر یک مفهوم را در بر دارند:
    کد PHP:
    Cells(2,5).Select
    RANGE
    ("E2").SELECT 
    در دستور زیر
    کد PHP:
     Range(Cells(25), Cells(15)).Value 10 
    در سلهای مشخص شده ارزش 10 را می گذارد
    دستور:
    کد PHP:
     Range(("A1"), Cells(15)).Value 10 
    یک دستور ترکیبی می باشد. که هم از Range استفاده شده و هم از دستور CELLS
    ملاحظه شد که به 2 صورت می توان سلها را از دو دستور دستورRANGE و دستور CELLS انتخاب کرد و از علامتهای با علامتهای ":" یا " ," استفاده نمود.

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

    انتخاب سطر و ستون
    دو دستور زیر طریقه انتخاب سطر ستون و سطر کلی می باشد:
    Range("A:F").Value = 100
    Range("1:5").Value = 100
    که مشخص شده در آنها مقدار100 گذارده شود.در این دستورها تمامی ستونهای مابین و تمامی سطهای ما بین نیز ارزش مشخص شده را می گیرند.

    دستور زیر:
    Range("A:A,F:F").Value = 100
    دستوری است که به برنامه می گوید ستون A و ستون F را به تنهایی ارزش 100 بگذار.
    می توان به جای ستونها از سطرها نیز استفاده نمود.

    دستور زیر:
    کد PHP:
     Range("A1:A5,C1:C5,D15").Value 
    را وارد کنید و نتیجه را با RUN نمودن ببینید.
    معرفی سلولها با استفاده از متغیرها
    دستور زیر را واد کنید:
    A = 1
    B = 2
    C = 3
    Range(Cells(A, A), Cells(B, B)).Value = 6
    که در این صورت متغیرهای A B C را می توان برای برنامه تعریف کرد و در دستور CELLS استفاده نمود.
    منبع:
    دوست عزیز اقای بیرامی
    اینم ادرس سایت
    http://persianblog.ir
    Last edited by ali.b; 2014/10/12, 08:32.
    [CENTER]
    [/CENTER]
چند لحظه..