هر کس می تونه به شما اکسل یاد بده. اما من ، آنچه را که می توانيد با آن انجام دهيد ...

اشتراک در خبرنامه

جهت عضویت در خبرنامه لطفا ایمیل خود را ثبت نمائید

Captcha

آمار بازدید

  • بازدید امروز : 168
  • بازدید دیروز : 25
  • بازدید کل : 121305

فونت های آیکن Wingdings و Webdings


در ادامه لیستی از تمام فونت آیکن های زیر ارائه شده است:

  • Webdings font
  • Wingdings font
  • Wingdings 2 font
  • Wingdings 3 font

فونت های آیکن Wingdings و Webdings

می توانید از لینک پایین صفحه , فرمت PDF این برگه را دانلود و لذت ببرید!

چرا فونت های آیکن مهم هستند؟

من عاشق استفاده از این فونت های آیکن هستم. زیرا آنها می توانند تجسماتی عالی به داده ها و داشبورد شما اضافه کنند. ممکن است در حال فکر کردن باشید که ...

" آیا اکسل آیکن های شرطی از پیش ساخته ای در قسمت conditional formating ندارد که این کار را انجام دهد؟"

درست است.

اما ، در حالی که آیکن های شرطی می توانند عالی باشند ، مواردی وجود دارد که در واقع آنها می توانند محدود کننده باشد و غیر حرفه ای به نظر رسند.

به توازن رنگ ها در مثال زیر توجه کنید.

فونت های آیکن Wingdings و Webdings

در جدول سمت چپ ، من از آیکن های داخلی قالب بندی شرطی اکسل استفاده کرده ام , سپس با استفاده از فونت Webdings (نویسه "n") و برخی از قالب بندی های شرطی تغییر رنگ ، جدول مشابه سمت راست را ایجاد کردم.

اولین چیزی که ممکن است توجه تان را جلب کند ، این است که دایره های قالب بندی شرطی به صورت تار دیده می­ شوند و غیر حرفه ای به نظر می رسند و ممکن است مخاطبان شما را خسته و بی هدف کند.

دومین موردی که ممکن است متوجه آن شوید در مورد فونت های آیکن است. من این آزادی را دارم که استیل ها را با هر رنگی که می خواهم بسازم! این می تواند جدول شما را مطابق رنگبندی نام تجاری خاص شرکت شما کند ، که باعث می شود در ارائه ها شگفت انگیز به نظر برسد.

PDFقابل چاپ رایگان!

من شخصاً از یک برگه که چند وقت پیش تهیه کردم استفاده می کنم. آن را چاپ و روی دیوار کنار کامپیوترم نصب کرده ام. اگر می خواهید یک نسخه PDF از این برگه (که در ابتدای این پست نشان داده شده است) را داشته باشید ، می توانید روی لینک زیر کلیک کنید.

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

فونت های آیکن Wingdings و Webdings
انتشار : ۱۹ دی ۱۳۹۸

برچسب های مهم

نحوه ایجاد و استفاده از Add-in (افزونه) اکسل


یک Add-in (افزونه) اکسل وقتی که مجبور به اجرای یک ماکرو در فایل ­های مختلف اکسل هستید می ­تواند مفید باشد.

به عنوان مثال ، فرض کنید می­ خواهید تمام سلول ­هایی که دارای خطا هستند را مشخص کنید ، به راحتی می ­توانید یک افزونه اکسل ایجاد کنید که با یک کلیک سلول های حاوی خطا را مشخص می­ کند (در تصویر متحرک زیر , افزونه به نوار ابزار دسترسی سریع اضافه شده است تا تنها با یک کلیک اجرا شود):

نحوه ایجاد و استفاده از Add-in (افزونه) اکسل

به طور مشابه ، ممکن است بخواهید یک تابع سفارشی ایجاد کنید و به جای copy و past چند باره کد از آن در تمام فایل­ های اکسل استفاده کنید.

اگر علاقه مند به یادگیری آسان VBA اکسل هستید ، مجموعه کتاب های آموزش برنامه نویسی با اکسل را بررسی کنید.

ایجاد افزونه اکسل

در این پست ، یاد خواهید گرفت که چگونه یک افزونه اکسل ایجاد کنید.

سه مرحله برای ایجاد افزونه و اضافه کردن آن به نوار ابزار دسترسی سریع وجود دارد :

  • ضبط / نوشتن کد
  • ذخیره کد به عنوان یک افزونه
  • اضافه کردن افزونه به نوار ابزار دسترسی سریع

نوشتن / ضبط کد در یک ماژول

به عنوان مثال ، از کد ساده زیر , که تمام سلول­ هایی که حاوی مقادیر خطا است را مشخص می کند , استفاده می ­کنیم:

 Sub HighlightErrors

   Selection.SpecialCells(xlCellTypeFormulas, xlErrors).Select

   Selection.Interior.Color = vbRed

End Sub

پس از نوشتن (یا کپی) کد ، مراحل زیر را دنبال کنید:

  • یک فایل اکسل باز کنید
  • کلید­های Alt + F11 را فشار دهید تا پنجره ویرایشگر ویژوال بیسیک باز شود.
  • در ویرایشگر ویژوال بیسیک ، می­ توانید اشیاء Microsoft Excel Objects (اشیاء مایکروسافت اکسل) را که در project explorer لیست شده است ببینید.

پنجره project explorer 

اگر نمی­ توانید آن را ببینید ، از زبانه View گزینه Project Explorer را انتخاب کنید.

project explorer

  • بر روی یکی از اشیاء مایکروسافت اکسل راست کلیک کرده و از لیست باز شده گزینه Insert و سپس از زیر مجموعه آن Module را انتخاب کنید. با این کار یک شیء ماژول ایجاد می­ کنید.

ایجاد ماژول در VBA

  • بر روی ماژول ایجاد شده دوبار کلیک کنید و در پنجره کد باز شده , ماکروی فوق را وارد کنید (آن را copy و paste کنید).
  • کلید­های Alt + F11 را فشار دهید تا به برگه اکسل بازگردید.

توجه: اگر یک ماکرو ضبط می­ کنید ، اکسل به طور خودکار یک ماژول ایجاد کرده و کد را در آن قرار خواهد داد.

بیایید ادامه دهیم و یک افزونه از این کد ایجاد کنیم.

ذخیره کد به عنوان یک افزونه اکسل

اگر فایلی که کد فوق را در آن وارد کرده اید ، فعال است مراحل زیر را دنبال کنید تا آن را به عنوان Add-in ذخیره و سپس آن را در اکسل نصب کنید.

  • به زبانه File بروید و روی Save As کلیک کنید.

ذخیره کد به عنوان یک افزونه اکسل

  • در پنجره محاوره ای Save As فرمت فایل را به xlam تغییر دهید. نامی که به فایل اختصاص داده اید، نام Add-in شماست. در این مثال ، فایل با نام Highlight Errors ذخیره می­ شود.

ذخیره کد به عنوان یک افزونه اکسل

  • متوجه خواهید شد که مسیر فایل ذخیره شده به طور خودکار تغییر می کند. شما می توانید از مسیر پیش فرض استفاده کنید و یا اگر می­ خواهید , آن را تغییر دهید.
  • یک فایل جدید اکسل باز کنید و به زبانه Developer بروید.
  • روی گزینه Excel Add-ins کلیک کنید.

ذخیره کد به عنوان یک افزونه اکسل

  • در پنجره محاوره­ ای Add-ins ، از طریق دکمه Browse فایلی را که ذخیره کرده بودید انتخاب و روی OK کلیک کنید. افزونه شما در لیست افزونه های در دسترس قرار خواهد گرفت , آن را انتخاب و روی OK کلیک کنید.

ذخیره کد به عنوان یک افزونه اکسل

حالا add-in فعال شده است و می توانید از آن در تمام فایل­ های اکسل استفاده کنید.

ممکن است هیچ زبانه یا گزینه­ ای در نوار ریبون نشان داده نشود ، اما افزونه در این مرحله فعال شده و کد در حال حاضر در دسترس است.

مرحله بعدی اضافه کردن افزونه به نوار ابزار دسترسی سریع است ، تا بتوانید با یک کلیک آن را اجرا کنید.

توجه: اگر افزونه ای ایجاد کرده­ اید که تابع سفارشی دارد ، لازم نیست که به مرحله بعدی بروید. در پایان مرحله قبلی ، تابع در همه فایل­ هایتان در دسترس قرار می­ گیرد. این مرحله برای کدهایی است که می­ خواهید کاری در زمانی که ماکرو را اجرا می­ کنید (مانند هایلایت کردن سلول های حاوی خطا) انجام شود.

اضافه کردن افزونه به نوار ابزار دسترسی سریع

ضافه کردن افزونه به نوار ابزار دسترسی سریع

برای انجام این مرحله:

  • روی نقطه­ ای دلخواه از ریبون راست ­­کلیک و در لیست باز­ شده گزینه Customize Quick Access Toolbar را انتخاب کنید.

ضافه کردن افزونه به نوار ابزار دسترسی سریع

در پنجره محاوره ­ای Excel Options ، گزینه Macros را از لیست کشویی Choose commands from انتخاب کنید. متوجه خواهید شد که ماکروی HighlightErrors در کادر پایین این قسمت لیست شده است.

ضافه کردن افزونه به نوار ابزار دسترسی سریع 

  • ماکروی HighlightErrors را انتخاب و سپس دکمه Add را کلیک کنید تا ماکرو به لیست سمت راست اضافه شود.
  • برای تکمیل روند و پیاده سازی تغییرات ، دکمه OK را در گوشه پایین سمت راست پنجره محاوره ای فشار دهید.

ضافه کردن افزونه به نوار ابزار دسترسی سریع

امکان انتخاب آیکن برای این دکمه نیز وجود دارد ، برای این کار روی دکمه Modify کلیک کنید. پنجره Modify Button باز می شود. آیکن مورد نظر را انتخاب و سپس دکمه Ok را کلیک کنید.

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

ضافه کردن افزونه به نوار ابزار دسترسی سریع

اکنون برای اجرای این کد در هر فایل اکسل ، مجموعه داده­ ها را انتخاب کرده و روی آیکن ماکرو در نوار ابزار دسترسی سریع کلیک کنید.

ضافه کردن افزونه به نوار ابزار دسترسی سریع

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

احتیاط: تغییرات انجام شده توسط ماکرو را نمی توان با استفاده از Ctrl + Z لغو کرد.

شما همچنین می توانید توابع سفارشی ایجاد کنید و سپس آن را به عنوان افزونه اکسل ذخیره کنیده هنگامی که افزونه را فعال می­ کنید ، توابع سفارشی در تمام فایل ­های اکسل موجود و در دسترس است.

ایجاد تابع سفارشی با استفاده از VBA


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

همچنین…

اکسل به شما امکان ایجاد تابع سفارشی با استفاده از VBA را نیز می دهد.

بله ، درست است!

تابع تعریف شده توسط کاربر ، به طور خلاصه UDF.

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

شما نمی خواهید؟

اگر از افرادی هستید که می خواهید تابع سفارشی ایجاد کنید ، در بخش دیدگاه کاربران نظر خود را بنویسید.

بنابراین ، امروز ، می خواهم مواردی را که باید در مورد ایجاد UDF بدانید به اشتراک بگذارم.

البته ، این یک راهنمای کلی است.

توجه: در این مطلب من از تابع تعریف شده توسط کاربر ، تابع سفارشی و UDF به طور متناوب به یک معنی استفاده کرده ام.

... پس با من باشید اگر می خواهید در دو دقیقه آینده سطح VBA خود را یک گام افزایش دهید.

چرا باید یک تابع سفارشی ایجاد کنید

همانطور که گفتم ، توابع زیادی در اکسل وجود دارد که تقریباً می تواند به شما کمک کند همه نیازهایتان را برطرف کنید و انواع محاسبات را انجام دهید.

ولی…

... گاهی اوقات ، در موقعیت های خاص ، باید UDF ایجاد کنید.

 من برخی از دلایلی را که نشان می دهد چه موقع باید سراغ یک تابع سفارشی بروید ، فهرست می کنم.

1. هنگامی که هیچ تابع استاندارد اکسل برای این کار وجود ندارد

گاهی اتفاق می افتد که باید چیزی را محاسبه کنید و تابع خاصی برای این کار وجود ندارد.

می توانم شمارش تعداد کلمات موجود در یک سلول را مثال بزنم و برای این ، دریافتم که UDF می تواند یک راه حل عالی باشد.

Function MyWordCount(rng As Range) As Integer

MyWordCount = UBound(Split(rng.Value، " ")، 1) + 1

End Function

چرا باید یک تابع سفارشی ایجاد کنید

2. جایگزین فرمول پیچیده کنید

اگر با فرمول ها کار می کنید ، من مطمئن هستم که شما این موضوع را می دانید که نوشتن فرمول های پیچیده دشوار است و بعضی اوقات درک آن توسط دیگر کاربران نیز دشوار است.

بنابراین یک تابع سفارشی می تواند راه حلی برای این مشکل باشد.

چرا باید یک تابع سفارشی ایجاد کنید

پس از ایجاد UDF ، دیگر لازم نیست که آن فرمول پیچیده را دوباره و دوباره بنویسید.

3. هنگامی که  نمی خواهید از فرآیند SUB استفاده کنید

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

اگر می خواهید محاسبه خود را به روز کنید ، مجدداً باید آن کد را اجرا کنید.

اما اگر کد را به یک تابع تبدیل کنید ، دیگر لازم نیست که آن را هر بار اجرا کنید.

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

به طور معمول ، برای ایجاد یک تابع VBA ، باید مراحل زیر را دنبال کنید:

  • فرآیند خود را به عنوان یک تابع اعلام کنید.
  • مولفه ها و نوع داده آنها را تعریف کنید.
  • برای محاسبه مقدار مورد نظر , کد را اضافه کنید.

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

 توجه کنید:

شما باید تابعی را ایجاد کنید که بتواند نام روز را از یک مقدار تاریخ بازگرداند.

خوب ، ما تابعی داریم که شماره روز هفته را باز می گرداند اما نام آن را نمی دهد.

منظورم را دریافت کردید؟

بنابراین اجازه دهید با استفاده از مراحل زیر این تابع VBA را ایجاد کنیم.

  • اول از همه ، ویرایشگر ویژوال بیسیک را با استفاده از کلید میانبر ALT + F11 باز کنید , یا به زبانه Developer بروید و  روی دکمه Visual Basic کلیک کنید.

دسترسی به ویرایشگر ویژوال بیسیک در اکسل

  • درج یک ماژول: روش اول- در پنجره Project Explorer پروژه ای را انتخاب کنید که می خواهید ماژول به آن اضافه شود. روی یکی از اشیاء فایل اکسل که در پنجره Project Explorer مشاهده می کنید راست کلیک کنید. در لیست باز شده مکان نما را روی گزینه Insert قرار دهید و از لیست کشویی روی Module کلیک کنید.

درج یک ماژول در اکسل

روش دوم- در پنجره Project Explorer پروژه ای را انتخاب کنید که می خواهید ماژول به آن اضافه شود. سپس از زبانه Insert نوار ابزار استاندارد گزینه Module را انتخاب کنید.

درج یک ماژول در اکسل

  • نکته بعدی تعریف یک نام برای تابع است و در اینجا من از myDayName استفاده می کنم. بنابراین شما باید Function mydayName را بنویسید.

تعریف یک نام برای تابع سفارشی در اکسل

چرا Function قبل از نام تابع؟

همانطور که در حال ایجاد یک تابع VBA هستید و از کلمه Function استفاده می کنید به اکسل می گوید که این کد به عنوان یک تابع رفتار می کند.

  • پس از آن ، شما باید مولفه هایی را برای UDF تعریف کنید. بنابراین پرانتز شروع را وارد کنید و InputDate as Date را تایپ کنید.

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

  • در اینجا InputDate نام مولفه است و date نوع داده آن است. همیشه بهتر است نوع داده را برای مولفه تعریف کنید.
  • اکنون ، پرانتز را ببندید و As String بنویسید. در اینجا شما نوع داده نتیجه تابع را تعریف می کنید. همانطور که ذکر شد , می خواهیم نام روز به صورت متن بازگردانده شود ، بنابراین نوع داده آن باید به صورت String باشد.

ایجاد تابع سفارشی در اکسلدر پایان ، کلید ENTER را فشار دهید.

تا این مرحله ، نام تابع ، مولفه آن ، نوع داده مولفه و نوع داده خروجی تابع , تعریف شده است و شما در ماژول خود چیزی شبیه به این دارید:

دستور اعلان تابع سفارشی در اکسل

اکنون در قسمت ما بین Function و End Function ، باید کد محاسبات خود را وارد کنید.

در اکسل یک تابع برگه با نام Text وجود دارد و در اینجا از همان استفاده می کنیم.

برای این کار ، باید کد زیر را بنویسید:

myDayName = WorksheetFunction.Text(InputDate, "dddddd")

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

ایجاد تابع سفارشی در اکسل

  • اکنون کد خود را ذخیره و به برگه اکسل بازگردید.

اگر در سلول B2 ، فرمول  myDayName(A2) = را وارد کرده و اینتر را فشار دهید , نام روز را خواهید داشت.

ایجاد تابع سفارشی در اکسل

تبریک می گویم! شما اولین تابع سفارشی خود را ایجاد کردید.

این لحظه شادی واقعی است.

اینطور نیست؟

نظر خود را در بخش دیدگاه کاربران تایپ کنید.

نحوه عملکرد این تابع و مقدار برگشتی

اولین تابع سفارشی خود را ایجاد کردید ، اما مسئله این است که شما باید درک کنید که این تابع چگونه کار می کند.

اگر به زبان ساده بگویم ، این یک کد VBA است اما ما به عنوان تابع از آن استفاده می کنیم.

بگذارید آن را به سه قسمت تقسیم کنیم:

  • شما آن را در یک سلول به عنوان تابع وارد و مقدار ورودی را برای آن مشخص می کنید.
  • اکسل کد پشت تابع را اجرا می کند و از مقداری که به آن ارجاع داده اید استفاده می کند.
  • شما نتیجه را در سلول دریافت می کنید.

حال بیایید آن را با جزئیات بیان کنیم؛

لحظه ای که نام تابع را در یک سلول وارد می کنید و به سلول دیگر برای مقدار مولفه (ها) ارجاع می دهید , کد اجرا می ­شود و از مقداری که به عنوان مولفه ارجاع داده­ اید برای بازگشت نتیجه استفاده می کند.

دقیق­ تر بیان می کنم:

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

هنگامی که در تابع به یک سلول ارجاع می­ دهید ، این بلوک کد برای محاسبه مقدارخروجی تابع اجرا می­ شود.

تاریخ را از مولفه InputDate گرفته و نام روز را برمی گرداند.


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

نکته مهم: وقتی کدی را برای یک تابع سفارشی می نویسید باید مراقب باشید که حتما مقدار مورد نظر برای بازگشت آن کد , به نام تابع اختصاص یابد.

نحوه بهبود تابع سفارشی

خوب ، حالا شما می دانید چگونه یک تابع سفارشی VBA ایجاد کنید.

ولی…

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

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

ولی…

اگر مقداری که مشخص می کنید تاریخ نباشد ؟

و یا اگر سلولی که به آن ارجاع می­ دهید خالی باشد , چه؟

ممکن است احتمالات دیگری نیز وجود داشته باشد ، اما  مطمئن هستم که شما منظور من را گرفتید.

درسته؟

بنابراین سعی خواهیم کرد این تابع سفارشی را بهبود بخشیم تا بتواند با مشکلات فوق روبرو شود.

بسیار خوب!

اول از همه ، شما باید نوع داده مولفه را تغییر داده و کد زیر را استفاده کنید:

InputDate As Variant

با این کار ، تابع سفارشی شما می تواند از هر نوع داده به عنوان ورودی استفاده کند.

در مرحله بعد ، برای بررسی شرایط InputDate باید از دستور IF استفاده کنیم.

بررسی اول این است که سلول خالی است یا خیر.

و برای این کار ، باید از کد زیر استفاده کنید:

If InputDate = "" Then

"" = myDayName

اگر سلولی که به آن ارجاع می­ دهید خالی باشد ، این کد تابع را خالی می کند.

یک مشکل حل شد ، بگذارید به مسئله بعدی برویم.

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

بنابراین ، برای این کار ، باید شرایطی را نیز ایجاد کنید که باید بررسی کند که مقدار ذکر شده یک تاریخ واقعی است یا خیر.

کد:

If IsDate(InputDate) = False Then

 "" = myDayName 

توجه: در اینجا من برای هر دو شرط از یک blank , ("") استفاده می کنم ، به طوری که در صورت داشتن داده های طولانی می توانید به راحتی مقادیر را فیلتر کنید که مقدار ورودی خالی نباشد.

بنابراین پس از افزودن شرایط فوق ، کد به صورت زیر خواهد بود:

Function myDayName(InputDate As Variant) As String

If InputDate = "" Then

 "" = myDayName

Else

If IsDate(InputDate) = False Then

"" = myDayName

Else

myDayName = WorksheetFunction.Text(InputDate, "dddddd")

End If

End If

End Function

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

نحوه استفاده از یک تابع سفارشی VBA

تا این مرحله ، با نحوه ایجاد یک تابع VBA در اکسل کاملاً آشنا شدید.

اما پس از ایجاد ، باید بدانید که چگونه می توانید از آن استفاده کنید.

در این بخش از پست ، من می خواهم بگویم که چگونه و کجا می توانید از آن استفاده کنید.

بیایید شروع کنیم:

1. به سادگی در یک برگه اکسل

چرا ما یک تابع سفارشی ایجاد می کنیم؟

برای استفاده از آن در برگه اکسل.

می توانید با استفاده از علامت تساوی و تایپ نام تابع ، یک UDF را در برگه وارد کنید و سپس مولفه های آن را مشخص کنید.

 

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

از زبانه Formula گزینه Insert Function را انتخاب کنید , در پنجره محاوره ای باز شده دسته بندی User Defined را انتخاب کنید.از این لیست می توانید UDF مورد نظر خود را وارد کنید.

2. استفاده در سایر فرآیندها و توابع

همچنین می توانید از یک تابع در توابع دیگر یا در یک فرآیند Sub استفاده کنید.

از کد VBA زیر برای دریافت نام روز تاریخ جاری می توانید استفاده کنید.

()Sub todayDay

MsgBox "Today is" & myDayName(Date)

End Sub

 

 توجه: حتماً در این پست دامنه یك UDF را بخوانید تا در مورد استفاده توابع در سایر فرآیند­ها اطلاعات بیشتری کسب كنید.

3. دسترسی به توابع از فایل های دیگر

اگر UDF را در یک فایل دارید و می خواهید از آن در فایل دیگری یا در تمام فایل­ها استفاده کنید این کار را با ایجاد یک افزونه برای آن انجام می دهید.

این مراحل ساده را دنبال کنید:

اول از همه ، شما باید فایل اکسل را (که در آن کد تابع سفارشی دارید) به عنوان یک افزونه ذخیره کنید.برای این:  

از زبانه File گزینه Save As را انتخاب کنید , در پنجره محاوره ای باز شده فرمت فایل را Excel Add-Ins (.xalm) انتخاب کنید.

 

  • پس از آن ، بر روی افزونه مورد نظر خود دوبار کلیک کرده و آن را نصب کنید.

خودشه.

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

راه های مختلف ایجاد یک تابع سفارشی VBA [سطح پیشرفته]

تا این مرحله ، شما می توانید یک تابع سفارشی در VBA ایجاد کنید.

اما مسئله این است که وقتی از توابع برگه اکسل استفاده می کنیم ، آنها با انواع مختلفی از مولفه ها همراه هستند.

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

بیایید ادامه بدیم...

*جهت دریافت کتاب های آموزش ماکرونویسی با اکسل روی تصویر کلیک کنید*

 

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

مبانی کد های VBA ماکروی ایجاد شده


آموزش قبلی: بررسی کد های ماکروی ضبط شده

برای درک هر یک از دستورالعمل­ های ماکرویی که ضبط کرده ­اید ، اجازه دهید کل کد را که برحسب مورد به صورت خطی و مجموعه ، اجرا می شود ، بررسی کنیم.

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

هدف این بند ، این است که ایده اولیه­ ای درباره نحوه عملکرد VBA و مهمتر از همه ، دستورالعمل­ هایی که اکسل برای تایپ This is the best Excel tutorial، تنظیم خودکار عرض ستون سلول فعال ، تغییر رنگ زمینه سلول فعال به قرمز و تغییر رنگ فونت سلول فعال به آبی ، اجرا می­ کند را به شما نشان دهد.

متوجه خواهید شد که (نه تنها در این مثال ، بلکه معمولا هنگام ضبط ماکرو) کد VBA ممکن است شامل برخی از اقداماتی باشد که شما انجام نداده­ اید جان والکنباخ ، در کتاب Excel 2013 Bible بیان می­ کند که این تنها نتیجه فرعی روشی است که اکسل برای ترجمه عملیات کد استفاده می­ کند.

به عبارت دیگر، در حال حاضر جای نگرانی در مورد خطوط کدی که شما ایجاد نکرده ­اید ، نیست.

پنجره­ کد ماکرویی که ایجاد کرده ­اید ، شامل خطوط کد زیر است:

  •  آیتم 1-() Sub Best_Excel_Tutorial

عبارت Sub اساس فرآیندSub است. این فرآیند یکی از دو نوع فرآیندی است که می­ توانید در اکسل ایجاد کنید. نوع دیگر ، فرآیند Function است.

خوب ... این خط کد چه عملی انجام می ­دهد؟

به سادگی به اکسل می­ گوید که در حال نوشتن یک فرآیندSub هستید.

فرآیند­های Sub بایستی همیشه با موارد زیر شروع شوند:

  • عبارت Sub
  • نام فرآیند ؛ در این مورد Best_Excel_Tutorial
  • پرانتز

علاوه بر این ، فرآیند­های Sub همیشه باید با دستور End Sub پایان یابد ، همان­طور که می ­توانید در آخرین خط­ کد نشان داده شده در تصویر زیر (با شماره 8 مشخص شده است) ببینید.

مبانی کد های VBA ماکروی ایجاد شده

  • آیتم 2- خطوط کد با فونت سبز رنگ که با () شروع شده­ اند.

این خطوط توضیحاتی است که فقط برای ارائه اطلاعاتی قرار داده شده است. این توضیحات دارای خصوصیات زیر است:

  • با یک آپستروف() شروع می­ شوند.
  • VBA ، اساسا خطوط­ کدی را که با آپستروف شروع می­ شود ، نادیده می­ گیرد. بنابراین اجرای یک ماکرو ، به این توضیحات وابسته نیست. اگر این خطوط کد را حذف کنید ، ماکرو همچنان به صورت صحیح اجرا می­ شود.
  • هدف اصلی توضیحات ، نمایش اطلاعات مربوط به ماکرو است و به درک آن کمک می­ کند. توضیحات ممکن است شامل مواردی مانند ، هدف ماکرو یا آخرین اصلاحات انجام شده در این ماکرو باشد.
  •  آیتم 3- ActiveCell.Select

همان­طور که اینجا توضیح داده شد ، این خط ­کد به اکسل می­ گوید که سلول فعال فعلی را انتخاب کند. اگر دقیق­تر بیان کنیم:

  • ActiveCell اشاره به سلول فعال فعلی در برگه فعال اکسل دارد.
  • Select یک شیء را در برگه فعال اکسل انتخاب می­ کند ، شیء در این خط­ کد ، سلول فعال فعلی است که ActiveCell به آن ارجاع می ­دهد.
  •  آیتم 4- "ActiveCell.FormulaR1C1 = This is the best Excel tutorial

این خط به اکسل فرمان می­ دهد که متن This is the best Excel tutorial در سلول­ فعال وارد شود.

اجازه دهید هر یک از قسمت­ های مختلف این دستور را بررسی کنیم:

  • در آیتم قبلی یاد گرفتید که هدف ActiveCell چیست.
  • FormulaR1C1 به اکسل می­ گوید فرمول شیء را تعیین­ کند ، در این مورد شیء ، سلول فعال است که ActiveCell به آن اشاره دارد.

بخش آخر R1C1 ، اشاره به الگوی آدرس ­دهی R1C1 است .

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

  • " This is the best Excel tutorial"  فرمولی را که باید در شئ سلول فعال قرار گیرد بیان می کند (در این ماکرو فرمول یک متن است).
  •  آیتم 5- Selection.Columns.AutoFit

همان­طور که اینجا بیان شد ، این دستور باعث می­ شود که اکسل ستون سلول­ فعال را متناسب با متنی که ماکرو درج کرده است ، به صورت خودکار تنظیم ­کند.

بخش­ های مختلف این دستور به شرح زیر است:

  • Selection: نشان دهنده انتخاب فعلی (در این مورد سلول فعال) است.
  • Columns: ستون­های شیء Selection را انتخاب می­ کند ، که در این مورد ستون­ سلول فعال است.
  • AutoFit: عرض ستون انتخاب شده (در این مثال) و یا ارتفاع سطرهای انتخاب شده را به بهترین شکل ممکن ، متناسب با طول متن وارد شده تنظیم می­ کند.
  •  آیتم 6- دستور With…End With اول

ماکروی شما در حال حاضر دو مورد از چهار مورد درخواستی را اجرا کرده است:

  • متن This is the best Excel tutorial را در سلول فعال درج کرده است.
  • عرض ستون سلول فعال را متناسب با طول متن وارد شده تنظیم کرده است.

همان­طور که انتظار دارید ، اقدام بعدی که اکسل انجام خواهد داد ، تغییر رنگ زمینه سلول فعال به رنگ قرمز است.

شاید انتظار داشته باشید که تغییر رنگ زمینه سلول فعال یک گام ساده باشد. ولی به نظر می ­رسد که اکسل نیاز به انجام چند مرحله برای این اقدام دارد.

هدف اصلی دستور With…End With ، ساده ­سازی ترکیب اجرای چند دستورالعمل است که همه آنها به یک شیء واحد اشاره می ­کنند بدون اینکه هر بار به آن شیء ارجاع شود.

در مورد این مثال این شیء سلول فعال است. همانطور که در تصویر زیر مشاهده می­ کنید ماکروی ضبط شده حاوی دو دستور With…End With می ­باشد.

دستور With…End With

ترکیب دستور With…End With به شرح زیر است:

 ابزار بیان شیء With
[دستورالعمل­ها]
End With

  • در ابتدا ، ترکیب با عبارت With و به ­دنبال آن ابزار­ بیان شیء شروع می­ شود.

 در مثال حاضر ابزار بیان شیء ، برای دستور With…End With اول Selection.Interior و برای دستور With…End With دوم ، که در ادامه توضیح داده می­ شود ، Selection.Font می­ باشد.

  • این دستور می­ تواند یک یا چند خط کد داشته باشد ، که دستورالعمل­ هایی هستند که بر روی شیء مورد نظر انجام می ­شود.
  • پایان دستور ، با عبارت End With مشخص می­ شود.

در مورد اولین دستور With…End With ، هر یک از این موارد به شرح زیر است:

دستور With…End With

حال که یک درک اولیه از آنچه که دستور With…End With انجام می ­دهد دارید ، اجازه دهید نگاهی به خطوط کد این دستور داشته باشیم:

1. With Selection.Interior

این خط به اکسل می­ گوید که هنگام اجرای دستورالعمل­ ها که بخشی از دستور With…End With هستند باید همیشه به داخل سلول فعال ارجاع شود.

نحوه انجام کار چگونه است؟

  • With شروع دستور With…End With است و اکسل را مطلع می ­کند که دستورالعمل های بعدی روی شییء که در این خط ذکر شده است اجرا خواهد شد.
  • Selection.Interior ابزار بیان شیء است که در بند ساختار دستور With…End With توضیح داده شده است.

Selection نشان دهنده انتخاب فعلی است که در این مثال سلول فعال است. Interior به درون یک شی اشاره می ­کند ، که در این مورد داخل سلول فعال است.

2. Pattern = xlSolid

این کد اولین خط از دستور With…End With است که اشاره به داخل سلول فعال دارد و به اکسل می ­گوید رنگ الگوی درونی سلول فعال یک رنگ یکپارچه است. این کار به شرح زیر انجام می­ شود:

  • Pattern الگوی داخلی را تنظیم می­ کند.
  • xlSolid مشخص می­ کند که الگو باید یک رنگ یکپارچه باشد.

3. PatternColorIndex = xlAutomatic

این خط­ کد نحوه تنظیم را به شرح زیر ، برای درون سلول فعال مشخص می­ کند:

  • PatternColorIndex رنگ داخلی را تنظیم می ­کند.
  • xlAutomatic مشخص می­ کند که باید خودکار رنگ شود.

4. Color = 255

این خط دستوری است که در واقع به اکسل اعلام می­ کند چه رنگی باید برای پر­کردن داخل سلول فعال استفاده کند.

Color رنگ سلول را با توجه به شماره ­ای (که در این مورد 255 است) مشخص می­ کند ، که در ماژول Best_Excel_Tutorial قرمز است.

5.  TintAndShade = 0

این خط کد ، تنظیم طیف رنگی را که برای پر کردن سلول فعال انتخاب شده است به اکسل دستور می­ دهد.

TintAndShade وضوح یا تیرگی یک رنگ را تنظیم می­ کند. هنگامی که TintAndShade برابر با 0 تعیین شود ، (همانطور که در این مورد است) این ویژگی رنگ تغییری نمی­ کند.

6.  PatternTintAndShade = 0

همان­طور که ممکن است تصور کنید ، این خط به اکسل انتقال می­ دهد که الگو باید بدون طرح سایه ، داخل سلول فعال قرار­گیرد.

PatternTintAndShade الگوی رنگ و سایه را برای داخل یک شیء ، در این مورد سلول فعال ، تنظیم می­ کند.

7. End With

این خط به اکسل اعلام می­ کند که پایان دستور With…End With است.

بنابراین ، خطوط بعدی به یک شیء متفاوت از آنچه که در دستور With…End With به آن اشاره می­ شد ارجاع می ­شود.

در مورد مثال مورد استفاده در این بخش ، پایان دستور With…End With اول نشان می­ دهد که دستورات بعدی به الگوی زمینه سلول فعال اشاره نمی­ کند.

  •  آیتم 7- دستور With…End With دوم

در آیتم قبل دستور With…End With را یاد گرفتید و با ساختار کلی آن آشنا شدید.

بنابراین ، مستقیما به توضیح خط به خط دستور With…End With دوم پرداخته شده است.

همانطور که احتمالا انتظار دارید ، آخرین دستورالعمل­ هایی را که هنگام ایجاد ماکرو انجام دادید ، باید انجام ­شود: تغییر رنگ فونت سلول فعال به رنگ آبی.

1. With Selection.Font

همانطور که بیان شد ، این خط شروع دستور With…End With است و به اکسل می­ گوید که دستورات زیر با شیئ که در اینجا ظاهر می­ شود ، کار می­ کنند. در این مورد ، این شیء Selection.Font است.

Selection ، در ماکروی Best_Excel_Tutorial ، سلول فعال است.

به عبارت دیگر ، Selection.Font به معنای فونت متن در سلول فعال است. بنابراین ، Selection.Font اساسا اکسل را مطلع می­ کند که تمام خطوط کد که بخشی از دستور With…End With هستند ، اشاره به فونت سلول فعال دارد.

2. Color = -4165632

این خط از کد ، مشابه چهارمین خط کد دستور With…End With اول است و به اکسل می­ گوید چه رنگی باید برای فونت سلول فعال استفاده شود.

Color رنگ را تعیین می­ کند ، عدد (در این مورد -4165632) کد رنگی است که به رنگ آبی اشاره دارد.

3.  TintAndShade = 0

این خط دقیقا مشابه یکی از خطوط دستور With…End With اول است. از آنجا که TintAndShade وضوح یک رنگ را تعیین می­ کند ، هنگامی که TintAndShade برابر با  0 (همان­طور که در این مورد است) تعیین شود ، این ویژگی فونت سلول فعال تغییری نمی­ کند.

4. End With

این خط پایان دستور With…End With است. بنابراین ، خطوط کد بعدی به فونت سلول فعال ارجاع نمی­ دهد.

  •  آیتم 8- End Sub

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

چند نکته در خصوص نحوه یادگیری برنامه ­نویسی در اکسل

  • قسمت­هایی از کد VBA را تغییر دهید تا چیزهای جدیدی تجربه کنید.

در خط کد "ActiveCell.FormulaR1C1 = "This is the best Excel tutorial از متن This is the best Excel tutorial استفاده شده است ، می­ توانید هر متن دیگری (مثلا نام خودتان) را نیز انتخاب کنید.

همچنین می­ توانید با تغییر اعداد ، رنگ­ های دیگری برای زمینه و فونت سلول انتخاب کنید.

به صفحه اصلی اکسل برگردید و دوباره ماکرو را (با استفاده از میانبر صفحه کلید Ctrl+Shift+B که به آن اختصاص داده ­اید) اجرا و بررسی کنید چه اتفاقی می ­افتد.

  • برخی از دستورات را از کد حذف کنید تا ببینید که چگونه بر ماکرو تاثیر می­ گذارد.

به عنوان مثال ، اگر Selection.Columns.AutoFit را حذف کنید، چه اتفاقی رخ می­ دهد؟

آن­ را امتحان کنید.

به صفحه اصلی اکسل برگردید و دوباره ماکرو را با این تغییر اجرا کنید.

چه اتفاقی می­ افتد؟ آیا این تغییر چیزی بود که انتظار داشتید؟

  • یکی از بهترین روش­های یادگیری ماکروی اکسل این است که تمرینات موجود در این فصل را تکرار کنید بنابراین توصیه می­کنیم که این کار را انجام دهید.

در مراحل بعدی:

  1. چیزهای جدیدی امتحان کنید و ماکرو­های متفاوتی را ضبط کنید.
  2. ویرایشگر ویژوال بیسیک را باز کنید و کد VBA را خط به خط بررسی کنید.

با بررسی کدهای نوشته شده توسط ضبط کننده ماکرو ، می­ توانید ایده ­هایی برای شروع ماکرونویسی بدست آورید. به عنوان مثال ، اگر از شما بخواهم یک ستون را با استفاده از کدنویسی فیلتر کنید و در ابتدا هیچ نظری نداشته باشید که به چه صورت است ، می­ توانید به سرعت یک ماکرو ضبط کنید بعد به سراغ ماکروی ایجاد شده رفته تا ببینید اکسل چه کدهایی ثبت کرده است. با بررسی و ویرایش این کد­ها می ­توانید ماکروی خود را بنویسید.

آموزش بعدی: کد های آماده VBA را کجا قرار دهیم

 *جهت دریافت کتاب های آموزش ماکرونویسی با اکسل روی تصویر کلیک کنید*

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

مبانی ماکرونویسی جلسه (5)


در اکسل ، معمولا از سطر و ستون برای آدرس دهی یک سلول به شکل زیر استفاده می شود:

  • ستون ها با حرف مشخص شده و از A شروع می شود.
  • سطر ها با شماره مشخص شده و از 1 شروع می شوند.

این سبک آدرس دهی به عنوان سبک A1 شناخته می شود. سلول گوشه بالا سمت چپ صفحه اکسل , بصورت A1 آدرس دهی می شود.

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

  • ستون اول ستون 1 (یا C1) است. و
  • سطر اول سطر 1 (یا R1) است.

این سبک آدرس دهی به عنوان سبک R1C1 شناخته می شود ، سلول گوشه بالا سمت چپ صفحه اکسل , بصورت R1C1 آدرس دهی می شود.

چند دلیل برای یادگیری نحوه کار با سبک R1C1 وجود دارد. یکی از دلایل اصلی این واقعیت است که , هنگام کار با VBA ، سبک R1C1 انعطاف پذیر ، کارآمد و راحت تر است.

سلول با آدرس ثابت

به کمک دستور Range می­ توانید به یک سلول روی برگه ­ای که در آن اقدام به نوشتن کد کرده ­اید , دسترسی داشته باشید. قالب این دستور به شکل زیر است:

Range("آدرس سلول")

به مثال زیر توجه کنید:

Range("B7")="Excel"

با نوشتن این خط کد , هرگاه کد اجرا شود , مقدار سلول B7 حاوی عبارت Excel می ­شود.

دو نکته در مورد مثال بالا مطرح است. اول اینکه در دستور , آدرس سلول مورد نظر حتما باید بین دو علامت (" ") قرار گیرد. مورد دیگر اینکه اگر با یک متن ثابت سر و کار داشته باشید , ( مانند Excel در این مثال) باید حتما آن را  بین دو علامت (" ") قرار دهید.

کار با سلول با آدرس متغیر

گاهی در هنگام کدنویسی نیاز پیدا می­ کنید که آدرس سلول­ ها را متغیر در نظر بگیرید. برای چنین مواقعی باید از دستور Cells با ترکیب زیر کمک بگیرید:

Cells(شماره ستون , شماره سطر)

ساختار سبکR1C1

هنگام ایجاد آدرس سلولی به سبک R1C1 ، اصول زیر بایستی در نظر گرفته شود:

  • حرف "R" به معنای "سطر" و حرف "C" به معنای "ستون" است.
  • حروف R و C به طور کلی با یک شماره ( #R#C ) دنبال می شود:

o شماره پس از حرف R نشان دهنده شماره سطر است؛ و

o شماره پس از حرف C نشان دهنده شماره ستون است.

آدرس هایی که با رعایت قوانین بالا ایجاد می شود , مطلق هستند.

نحوه ارجاع به سلول فعال ، با استفاده از سبک R1C1

اگر شماره های پس از حروف R یا C را حذف کنید ، به همان سطر یا ستون آدرس سلول اشاره می­ کنید. از این رو:

  • "RC" به سلول پایه اشاره می کند (همان سطر، همان ستون).
  • "RC#" (حذف عدد پس از حرفR ) آدرسی با همان سطر سلول پایه (همان سطر ، ستون متفاوت) است.
  • "R#C" (حذف عدد پس از حرفC) آدرسی با همان ستون سلول پایه (سطر متفاوت ، همان ستون) است.

نحوه ایجاد آدرس نسبی با سبک R1C1

  • اعدادی که پس از حروف R و C مشخص می کنید مقدار پیمایش از سلول پایه را مشخص می کنید. به عبارت دیگر ، این اعداد تعداد سطر یا ستونی را که از سلول پایه حرکت می کند را مشخص می کند. به طور خاص:

o هنگامی که مقدار پیمایش سطر را مشخص می کنید (شماره بعد از حرف R) :

  • اعداد مثبت به سمت پایین صفحه پیمایش می کند؛ و
  • اعداد منفی به سمت بالای صفحه پیمایش می کند.

o هنگامی که مقدار پیمایش ستون را مشخص می کنید (شماره بعد از حرفC ):

  • اعداد مثبت به سمت راست برگه حرکت می کند؛ و
  • اعداد منفی به سمت چپ برگه پیمایش می کند.
  • عدد پیمایش تعداد سطر و ستون را در داخل براکت قرار دهید ([#]).

بنابراين ، ساختار آدرس دهی نسبی در سبک R1C1 به شکل زیر می باشد:

"R[RowOffset#]C[ColumnOffset#]"

در جلسه بعدی ، یاد می گیرید که چگونه با operator (عملگر)ها در VBA کار کنید.

*جهت دریافت کتاب های آموزش ماکرونویسی با اکسل روی تصویر کلیک کنید*

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

کدهای آماده VBA را کجا قرار دهیم


آموزش قبلی: مبانی کد های VBA ماکروی ضبط شده

دو مکان وجود دارد که می توانید کد VBA را به اکسل اضافه کنید:

  • پنجره­ کد یک ماژول
  • پنجره­ کد شیء؛ این شیء می تواند یک فایل اکسل ، یک برگه اکسل ، User Form و... باشد.

تفاوت پنجره­ کد ماژول و پنجره­ کد اشیاء

هنگامی که کدی را به پنجره ­کد هر یک از اشیاء اضافه می­ کنید ، اجرای آن وابسته به برخی رخدادهای آن شیء است. به عنوان مثال ، اگر می­ خواهید به محض باز­شدن فایل اکسل پیامی نمایش دهید ، این کد در پنجره ­کد شیء ThisWorkbook قرار می­ گیرد (که نشانگر فایل اکسل است).

در این مورد رخداد شیء ، باز شدن فایل اکسل است.

به همین ترتیب ، اگر می­ خواهید از یک برگه اکسل محافظت کنید ، کد را بایستی در پنجره­ کد Worksheet وارد کنید.

این رخداد­ها به عنوان محرک­ هایی هستند که با روی دادن آنها ماکرو اجرا خواهد ­شد.

برعکس ، کد­های ذخیره شده در ماژول باید به صورت دستی (و یا از طریق کد­های دیگر) اجرا شود.

هنگامی که ماکرویی ضبط می­ کنید ، اکسل به­ طور خودکار یک ماژول ایجاد می­ کند و کد­های ضبط شده را در آن وارد می ­کند. حال اگر بخواهید این کد را اجرا کنید ، باید به صورت دستی این کار را انجام دهید.

ایجاد ماژول و اضافه کردن کد به پنجره­ کد آن

به طور پیش ­فرض ، ماژول بخشی از فایل اکسل نیست. هنگامی که یک ماکرو ضبط می ­کنید اکسل به­ طور خودکار یک ماژول قبل از شروع به ضبط ، در فایل اکسل ایجاد می­ کند. مواقعی وجود دارد که ممکن است بخواهید بدون ضبط ، ماکرویی ایجاد کنید. به کمک یکی از روش­ های زیر می­ توانید این کار را انجام دهید.

روش1- چگونه یک ماژول VBA ایجاد کنیم

  1. در ابتدا وارد محیط ویرایشگر ویژوال بیسیک اکسل شوید.
  2. در پنجره Project Explorer پروژه ­ای را انتخاب کنید که می­ خواهید یک ماژول به آن اضافه کنید (اگر پنجره Project Explorer را نمی­ بینید از میانبر صفحه کلید Ctrl+R استفاده نمایید). به عنوان مثال در تصویر زیر ، یک ماژول به VBAProject (Book1.xlsm) افزوده می­ شود ، که تنها پروژه باز و موجود در این پنجره است. روی یکی از اشیاء فایل اکسل که در پنجره Project Explorer مشاهده می­ کنید راست کلیک­ کنید.
  3. در لیست باز شده مکان­ نما را روی گزینه Insert قرار دهید.
  4. در لیست باز شده روی Module کلیک کنید.

چگونه یک ماژول VBA ایجاد کنیم

روش2- چگونه یک ماژول VBA ایجاد کنیم

در پنجره Project Explorer پروژه­ ای را انتخاب­ کنید که می­ خواهید ماژول به آن اضافه شود. سپس از زبانه Insert گزینه Module را انتخاب کنید.

چگونه یک ماژول VBA ایجاد کنیم

با اجرای این مراحل ، بلافاصله پوشه Modules ایجاد و یک شیء با عنوان Module1 به آن اضافه می­ شود. اگر در سمت چپ محیط ویرایشگر ویژوال بیسیک قسمت Project Explorer را مشاهده کنید , خواهید دید که ماژولی با نام Module1 نمایش داده می ­شود.

اگر قبلا یک ماژول وارد کرده باشید ، مراحل فوق یک ماژول جدید ایجاد می­ کند.

هنگامی که ماژول ایجاد شده است ، می­ توانید بر روی آن دوبار کلیک کرده و پنجره ­کد را برای آن باز ­کنید. حال می ­توانید کد را داخل پنجره­ کد کپی­ کنید و یا خودتان آن را بنویسید و سپس ذخیره­ کنید.

حذف یک ماژول

درست همانطور که می­ توانید ماژول­ های جدید VBA را به یک پروژه اضافه کنید ، می­ توانید آنها را با استفاده از یکی از دو روش زیر حذف کنید.

توجه داشته باشید که ، همانطور که جان والکنباخ در کتاب Excel VBA Programming for Dummies بیان می­ کند ، تنها ماژول­ های VBA را می­ توانید حذف کنید:

راه دیگری برای حذف سایر ماژول­ های VBA وجود­ندارد ، آنهایی که برای اشیاء Sheet یا ThisWorkbook استفاده می شوند.

روش1- نحوه حذف ماژول VBA 

با استفاده از این روش ، می­ توانید ماژول VBA را با دنبال کردن دو مرحله ساده زیر حذف کنید.

  1. به پنجره پروژه بروید و ماژولی که می­ خواهید حذف شود را انتخاب کنید.

نحوه حذف ماژول VBA

  1. به زبانه File بروید و Remove module_name را انتخاب کنید.

module_name نام ماژولی است که می ­خواهید حذف شود. برای مثال ، هنگام حذف Module2 منوی File تقریبا به شکل زیر نمایش داده می ­شود:

نحوه حذف ماژول VBA روش2- نحوه حذف ماژول VBA

  1. به پنجره پروژه بروید و روی ماژولی که می­ خواهید حذف شود راست کلیک کنید.
  2. روی گزینه Remove module_name کلیک کنید.

نحوه حذف ماژول VBA

صرف­نظر از اینکه کدام یک از دو روش فوق را برای حذف ماژول VBA انتخاب می ­کنید ویرایشگر ویژوال بیسیک یک پنجره محاوره ­ای نشان می­ دهد و از شما می­ خواهد قبل از حذف ماژول آن را منتقل (export) کنید.

نحوه حذف ماژول VBA

در اغلب موارد ، دلیل حذف یک ماژول VBA این است که کدی داخل آن وجود ندارد. در این صورت ، روی No کلیک کنید.

اگر به هر دلیلی ، می­ خواهید ماژول را قبل از حذف ذخیره کنید ، روی Yes کلیک کنید. این فایل با فرمت  bas. ذخیره می­ شود. برای انتقال یک ماژول بدون حذف آن نیز ، روی آن راست کلیک ­کرده و در لیست باز شده گزینه Export File… را انتخاب کنید.از میانبر صفحه کلید Ctrl + E نیز می­ توانید استفاده کنید. فایل ذخیره شده را می ­توانید با کلیک راست روی پروژه دیگری و انتخاب گزینه (Import File…) وارد­کنید.

نحوه  وارد کردن کد آماده به ماژول VBA

 اضافه ­کردن کد به پنجره ­کد شیء

برای باز کردن پنجره­ کد یک شیء ، روی آن دوبار کلیک کنید.

وقتی که پنجره ­کد باز شد ، می ­توانید داخل آن کدی را بنویسید و یا کد­های آماده را کپی کنید.

آموزش بعدی: ذخیره فایل اکسل حاوی ماکرو

*جهت دریافت کتاب های آموزش ماکرونویسی با اکسل روی تصویر کلیک کنید*

 

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

کدهای آماده  VBA را کجا قرار دهیم
انتشار : ۲ آذر ۱۳۹۸

http://kia-ir.ir

حقوق مادی و معنوی این سایت متعلق به exceldepo می باشد.

فید خبر خوان    نقشه سایت    تماس با ما