آموزش ماکرونویسی - برنامه نویسی در اکسل به روش من

از ماکرونویسی نهراسید! بسیار ساده است!

 

قابل توجه علاقه‌مندان به مبحث ماكرونويسي

در صورتيكه به دنبال كتابي ساده و كاربردي در اين زمينه از نمايشگاه كتاب هستيد عجله نكنيد. كتاب ماكرونويسي در اكسل آماده چاپ است. با توجه به تراكم كاري ناشرين در  ايام نماشگاه متاسفانه انتشار اين كتاب  به بعد از برگزاري نمايشگاه موكول شده است.

اين كتاب براي كاربراني نوشته شده كه با برنامه‌نويسي و ماكرونويسي آشنايي نداشته يا آشنايي كمي دارند و مي‌خواهند در نرم‌افزار اكسل كارهاي بهتر و پوياتري انجام دهند و با زباني ساده و به دور از پيچيدگي مفاهيم اوليه و كاربردي را گام به گام ارايه نموده است. مثال‌ها متنوع و كاربردي‌اند. از برنامه‌هاي ساده  و "تابع تبديل عدد به حروف" گرفته تا "پياده‌سازي مفاهيم مهندسي مالي" در كتاب آموزش داده شده‌اند.

درسهاي 1 تا 12 و  كتابچه ماكرونويسي

آموزش  مشاوره

داستان وبلاگ من

آخرين مطالب
  • دروس  1 تا 12 را مطالعه کنید و بطور عملی هم انجام دهید
  • درس اول را با دقت بیشتری مطالعه کنید. موارد گفته شده را حتما بطور عملی تکرار کنید. بدون یاد گرفتن این درس به مطالعه دروس دیگر نپردازید.
  • "کار نیکوکردن از پر کردن است" پس تمرین کنید و تکرار کنید و از برنامه نویسی و ماکرونویسی نهراسید.
  •   در صورت نیاز به آمورش، مشاوره یا انجام پروژه های خود ...

 ali_fatehi@yahoo.com


ادامه مطلب

شما می توانید خلاصه مطالب ارایه شده در وبلاگ را لینک زیر بردارید.

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

(از این لینک هم می توانید بردارید دانلود جزوه از پارس بوک )

 

 

نظر یادتون نره

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

ali_fatehi@yahoo.com

 

در برنامه صفحه گسترده  اکسل تبدیل تاریخهای میلادی و شمسی و قمری بسیار مورد استفاده قرار می گیرد و با توجه به نیاز بسیاری از دوستان و بازدیدکنندگان وبلاگ،‌ توابعی بدین منظور تهیه شده و  در قالب یکadd ins قرار داده شده اند.همچنین تابعی نیز برای تبدیل یک عدد به حروف آماده شده است. می توانید این add-ins را از اینجا بردارید

اعتبار این مجموعه تا پایان سال 1393 می باشد

(بر روی لینک زیر کلیک راست و سپس Save Target As)

 ALFA_Utility 2012

نصب   ADD ins بسیار ساده است. این کار با چند کلیک انجام می شود.


ادامه مطلب

یک روش کاربردی و مفید و سریع برای برنامه‎نویسی در VBA، استفاده از کدهایی است که جادوگر(Macro Recorder) به‌وجود آورده است. برای این‌منظور کافیست این کدها را کپی و به یک ماژول(Module) در محیط VBA منتقل کنید. ما پیش از این چندین ماکرو توسط جادوگر ایجاد کردیم.

 البته باید دقت داشته باشید که همه چیز را نمی‌توانیم با Macro Recorder ایجاد کنیم. با این ابزار فقط می‌توانیم کدهایی را به‎دست آوریم که بتوانیم عملیات آن را به صورت مستقیم در اکسل انجام ‌دهیم. برای مثال با این روش، نمایش یک پیام در درون محیط اکسل امکان‌پذیر نیست و این قابلیتی است که در درون محیط برنامه‌نویسی وجود دارد. به هر ترتیب ما کارمان را با جادوگر شروع می‌کنیم و از آن ایده می‌گیریم. سپس در صورت نیاز بر روی کدهای تولید شده کار می‌کنیم و با اصلاح و تغییر به کدهای مورد نظرمان می‌رسیم.

مثال ‏: ماکرویی ایجاد کنید که نام اولین شیت را تغییر دهد. فرض کنید که نام این شیت را قبلا در سلول A1 وارد کرده‌ایم.

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

الف)‌ ایجاد یک ماکرو به کمک جادوگر

در ابتدا به کمک جادوگر یک ماکرو ایجاد می‌کنیم و نام شیت1 را به یک نام دلخواه تغییر می‌دهیم. (بهتر است یک کپی از فایل خودتان داشته باشید و ضبط ماکرو را در آن انجام دهید و پس از اطمینان از درستی عملکرد آن، ماکروی ایجاد شده را به این فایل بیاورید.)

  • مسیر DeveloperàCodeàRecord Macro را انتخاب می‌کنیم.
  • پنجره Record Macro باز می‌شود.در این پنجره نامی مناسب مانند RenameSheet را وارد کنید.
  • دگمه OK را بزنید تا ضبط ماکرو شروع شود.
  • اکسل به‎طور خودکار یک ماژول جدید ایجاد می‌نماید و آن را به workbook‌ شما مرتبط می‌نماید.
  • از قسمت پایین صفحه که شامل نام شیت‌هاست بر روی نام شیت اول Double کلیک کنید و نام آن را به یک نام دلخواه مثلا ALI تغییر دهید.
  • حالا به مسیر زیر بروید و عملیات ضبط ماکرو را متوقف کنید:

Developer-->Code -->Stop Recording

ببینیم اکسل چه کدهایی ایجاد کرده است.

با فشردن دگمه‌های Alt+F11 به محیط VBE رفته و در پنجره Project Explorer در بخش مربوط به همین workbook کدهای VBA ‌را می‌بینیم. این کدها در یک ماژول ذخیره می‌شوند. اگر این اولین ماژول باشد نام آن Module1 و گرنه Module2 یا Module3‌... خواهد شد.

کدهای مربوطه به این‌صورت هستند:

Sub Macro1()

'

' Macro1 Macro

'

   Sheets("Sheet1").Select

   Sheets("Sheet1").Name = "ALI FATEHI  "

   

End Sub

ب)‌ ایده گرفتن از کدهای ایجاد شده و اصلاح و تغییر آن

کدهای بالا نشان می‌دهند که در ابتدا Sheet1 انتخاب شده و خط بعدی هم نشان می‌دهد که نام آن به "ALI FATEHI" تغییر یافته است. ما می‌خواهیم به‌جایFATEHI  ALI محتویات سلول A1 را بگذاریم. برای این‌کار در همان خط کد Range("A1").Value را به‌جای"ALI FATEHI" می‌گذاریم. .( دقت کنید که Sheet1 وجود داشته باشد؛ پس نام شیت را که به    ALI FATEHIتغییر یافته به همان نام قبلی یعنی‎ Sheet1 برگردانید.)

Sub Macro1()

'

'Macro1 Macro

'

  Sheets("Sheet1").Select

    Sheets("Sheet1").Name = Range("A1").Value

End Sub

حال بافشردن کلید F5 یا روشهای دیگر این ماکرو را اجرا کنید. می‌بینید که نام شیت اول تغییر می‌کند.

در این بخش در نظر داریم مثالی کاملا کاربردی ارایه دهیم. این مثال میتواند با کمی تغییر کاربردهای گوناگون پیدا کند. حتی می توانید بخشهایی از آنرا در برنامه های خود استفاده کنید.

در این بخش در نظر داریم تا اطلاعاتی را از چندین فایل اکسل در یک فایل تجمیع کنیم. فرض کنید که اطلاعاتی که در ورک بوکها هستند ازیک الگو پیروی می کنند به عنوان مثال  در همه ورک بوکها اطلاعات در شیت1 و در ناحیه A1:A10 باشد. یک ورک جدید باز میکنیم و کدهای زیر را در یک ماژول می نویسیم.

در این برنامه از ماکرو IntegrateData استفاده می کنیم. این ماکرو نیز در داخل خود از ماکروهای PicFolder و getdata‌ استفاده می کند. تابع PicFolder نام فولدری را که فایلها در آن هست از کاربر میگیرد. تابع getdata‌ هم اطلاعات را از فایل جدا و در  فایل مقصد کپی میکند.

Dim AllAnswers
Dim PathName
Sub IntegrateData()
AllAnswers = ThisWorkbook.Name
 PathName = PicFolder()


ادامه مطلب

فایل پی دی اف زیر خلاصه ای از VBA  برای حرفه ای هاست. بسیار سودمند و خلاصه و کاربردی

از اینجا بردارید

 

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

دستور GoToکنترل برنامه را به خط دیگری می برد. استفاده از این دستور خیلی ساده است و   بدین شکل بکار می‌رود:

GoTo  linename

 linename  نام یک خط و عبارت  است و  در نظر داریم کنترل برنامه را به آنجا بفرستیم. برای اینکه یک خط را نامگذاری کنیم و در اصطلاح به آن Label  بدهیم در ابتدای خط نام آن را با یک عبارت متنی می آوریم و در انتهای آن علامت دو نقطه یعنی  :  قرار می دهیم.

 


ادامه مطلب

   اکسل بطور پیش فرض در ضبط ماکرو از آدرس دهی مطلق استفاده می نماید. البته در برخی موارد نیاز است که از آدرس دهی نسبی استفاده شود. در آدرس دهی مطلق آدرس سلولها همانطور که هستند در کدهای ماکرو آورده می شود. به عنوان مثال اگر ما کار ضبط ماکرو را از سلول c1 شروع کنیم و بعد به سلول C3برویم دقیقا آدرسها به همین صورت کد می‌شوند. 


ادامه مطلب

     ساختار With…End With برای اجرای دستوارت و تنظیمات متعدد مربوط به یک شیء (یک چیز)مورد استفاده قرار می گیرد. 

به عنوان مثال کدهای زیر را در نظر بگیرید: 

SubChangeFont()
    Selection.Font.Name = "Times New Roman"
    Selection.Font.Size = 12
    Selection.Font.Bold = True
    Selection.Font.Italic = True
    Selection.Font.ColorIndex = 5
End Sub
 


ادامه مطلب

 زمانیکه یک تابع (یا رویه) در یک  Workbook تعریف و ایجاد می شود این تابع تنها در همان Workbook قابل استفاده خواهد بود. تابع را در Workbook های دیگر نمی توان بکار برد و  با پیغام #Name. روبرو می‌شویم.

 چگونه می‌توان توابع نوشته شده در یک  فایل را همیشه و همه جا بکار برد؟

 


ادامه مطلب
........ مطالب قديمي‌تر >>

.: Weblog Themes By Iran Skin :.

درباره وبلاگ

آرشيو مطالب
امکانات وب