IranVba
20 subscribers
89 links
https://iranvba.com
ایران VBA اولین سایت آموزش کاملا رایگان VBA به زبان فارسی
تماس با مدیر سایت: @sadegh_abshenas
Download Telegram
اولین برنامه VBA | آموخته هایتان را بصورت عملی آزمون نمایید


در وب سایت ایران VBA در فواصل مختلف آموزش سعی خواهیم کرد برای تقویت یادگیری پروژه هایی مرتبط با آموزش هایی که فراگرفته اید را تشریح نماییم. در این پست بعنوان اولین برنامه VBA می خواهیم یک برنامه ساده را با استفاده از ماکرونویسی در اکسل گام به گام پیاده سازی، بررسی و تحلیل نماییم. پیش نیازهای آموزشی این بخش: ویرایشگر کد VBA ماژول در VBA متغیر در VBA ثابت در VBA عملگرهای VBA اولویت عملگرها روال در VBA توابع توکار VBA پنجره Immediate (آنی) در آموزش های قبلی سایت در مرحله اول با ویرایشگر VBE بعنوان ابزار نوشتن کد در بسته Office، ماژول بعنوان محل ذخیره کدها، متغیرها بعنوان محل ذخیره داده ها و ثابت ها آشنا شدیم. دانستیم که با ترکیب عملگرها با متغیرها و ثابت ها می توانیم عبارات منطقی و ریاضی ایجاد نماییم. در مرحله بعد با روال ها آشنا شدیم و یاد گرفتیم که روال…

https://iranvba.com/اولین-برنامه-vba/
IranVba pinned «اولین برنامه VBA | آموخته هایتان را بصورت عملی آزمون نمایید در وب سایت ایران VBA در فواصل مختلف آموزش سعی خواهیم کرد برای تقویت یادگیری پروژه هایی مرتبط با آموزش هایی که فراگرفته اید را تشریح نماییم. در این پست بعنوان اولین برنامه VBA می خواهیم یک برنامه…»
عبارت های شرطی و منطقی در VBA | کاربرد عملگرهای مقایسه ای و منطقی


در آموزش های قبلی سایت با عملگرهای مقایسه ای و عمگرهای منطقی پشتیبانی شده در VBA بصورت فهرست وار آشنا شدیم. در اینجا می خواهیم راجع به نحوه ایجاد عبارت های شرطی و منطقی با استفاده از این دو عملگر مطالبی را بیاموزیم. کاربرد عبارت های شرطی در اولین برنامه VBA سایت عدد دریافتی در جعبه متن کادر تابع InputBox را به توان ۲ رساندیم و خروجی را به کاربر از طریق پنجره پیغام به کاربر نمایش دادیم. حالا فرض کنید که کاربر به جای عدد حرف داخل جعبه متن تایپ نماید. اتفاقی که می افتد VBA ناگریز در کد intCalculatedNumber = strUserInput ^ 2 یک حرف را به توان دو باید برساند. بنابراین کدی که نوشته ایم باعث ایجاد خطای کامپایلر (Type mismatch (Error 13)) خواهد شد و برنامه متوقف خواهد گردید. در اینگونه موارد برنامه نویسان با استفاده از عملگرهای مقایسه ای و منطقی و ایجاد عبارت های…

https://iranvba.com/عبارت-های-شرطی-و-منطقی-در-vba/
افزودن متغیر به رشته | چگونه متغیر را به یک رشته ثابت اضافه نمایم؟


در این آموزش چگونه انجام بدهم می خواهیم نحوه افزودن متغیر به یک رشته ثابت در VBA و ایجاد عبارت رشته ای را یاد بگیریم. تعاریف عبارت رشته ای عبارت رشته ای طبق تعریف واژه نامه VBE عبارتی است که یک دنباله ادامه دار از کاراکترها می باشد. اجزاء یک عبارت رشته ای می تواند شامل یک تابع که یک رشته را برمی گرداند، یک لفظ (لیترال) رشته ای، یک ثابت رشته ای، یک متغیر رشته ای، یک متغیر Variant رشته ای و یا یک تابع که یک متغیر Variant رشته ای را بر می گرداند باشد(VarType 8). VarType 8 در انتهای تعریف عبارت رشته ای مقدار بازگشتی تابع توکار VarType می باشد و به این معناست که در صورتی که شما یک نوع متغیر یک عبارت رشته ای را توسط تابع VarType امتحان نمایید مقدار بازگشتی تابع 8 خواهد بود. رشته ثابت رشته ثابت در VBA هر دنباله ای…

https://iranvba.com/افزودن-متغیر-به-رشته/
ایران VBA | ارائه دهنده آمـــوزش های کاملا رایــــگان وی بی ای


VBA بعنوان یک زبان برنامه نویسی با توجه به دو ویژگی سادگی و کاربردی بودن آن یک زبان ایده آل برای شروع برنامه نویسی می باشد. ما نیز در ایران وی بی ای از ابتدای سال ۱۳۹۸ تصمیم گرفتیم با ارائه آموزش های رایگان VBA علاقه مندان را با این زبان برنامه نویسی آشنا نماییم. با توجه به اینکه از راه اندازی ایران VBA حدود یکسال می گذرد ما آموزش های خود را بصورت تدریجی بروزرسانی و با ارائه آموزش های پایه VBA آغاز نمودیم. عملکرد سال ۱۳۹۸ ایران وی بی ای ما در سال ۱۳۹۸ تقریباً ۷۰ درصد از آموزش های پایه VBA را ارائه نمودیم. هر جا که در آموزش های پایه احساس کردیم نیاز به آموزش بیشتری می باشد صفحات مرتبط را در مرجع VBA و چگونه انجام بدهم را ایجاد نمودیم. صفحه واژه نامه VBE را که حاوی فهرست اصطلاحات مختص ویرایشگر VBE می باشد را…

https://iranvba.com/ایران-vba-ارائه-دهنده-آمـــوزش-های-کاملا/
دستور IF | اجرای مشروط کد با استفاده از عبارت های شرطی و منطقی


در آموزش قبلی سایت با عبارت های شرطی و منطقی و کاربرد متغیر بولی آشنا شدیم. در این آموزش رایگان وی بی ای می خواهیم با دستورات شرطی و بصورت خاص مهمترین آن ها یعنی دستور If و کاربرد آن ها در VBA آشنا شویم. دستورات شرطی در برنامه نویسی موقعیت های زیادی وجود دارد که شما باید یک شرط را امتحان نمایید و یا ترتیب اجرای کدهای برنامه را تغییر دهید و یا حتی در صورت عدم وجود یک شرط برنامه یا کد را متوقف نمایید. شرط را می توان با عبارت های شرطی محاسبه نمود و در صورت نیاز در یک متغیر بولی ذخیره کرد. امتحان وجود یا عدم وجود یک شرط با استفاده از دستورات شرطی انجام پذیر است. دستور If یکی از متداول ترین دستورات VBA (شاید بتوان گفت همه زبان های برنامه نویسی) دستور If می باشد. این دستور با امتحان وجود یا عدم وجود…

https://iranvba.com/دستور-if-اجرای-مشروط-کد/
حلقه در VBA | ایجاد حلقه برای تکرار دستورات در وی بی ای


حلقه یا تکرار مجموعه ای شامل یک یا چند دستور است که بیشتر از یک مرتبه اجرا می شوند. در این بخش از آموزش های رایگان وی بی ای با نحوه ایجاد حلقه و تکرار کد در VBA آشنا می شویم. مقدمه کارهای تکراری برای انسان علاوه بر سختی خسته کننده نیز می باشد؛ و در برخی موارد عملاً غیرممکن می گردد. رایانه ها برخلاف انسان ها قادرند حجم بزرگی از عملیات تکراری را با سرعت و بدون افت عملکرد پردازش نمایند. حلقه ها در VBA با ایجاد تکرار روی یک کد وظیفه انجام عملیات تکراری را بر عهده دارند. حلقه ها و عبارت های شرطی و منطقی همانطور که گفتیم حلقه ها وظیفه تکرار دستورات را برعهده دارند. مسئله ای که به هنگام ایجاد یک حلقه باید در نظر بگیرید نحوه خاتمه آن می باشد. بگذارید با یک مثال توضیح دهم. فرض کنید که می خواهید کد زیر را…

https://iranvba.com/حلقه-do-و-حلقه-for-در-vba/
دستور ReDim | تغییر اندازه و ابعاد آرایه پویا در ویژوال بیسیک


دستور ReDim در سطح روال برای تخصیص دوباره فضای حافظه به یک متغیر آرایه پویا (dynamic array variables) کاربرد دارد. Syntax ReDim [ Preserve ] varname ( subscripts ) [ As type ], [ varname ( subscripts ) [ As type ]] . . . دستور ReDim از قسمت های زیر تشکیل شده است: قسمت توضیحات Preserve اختیاری. کلمه کلیدی که برای حفظ داده های موجود یک آرایه به هنگام تغییر اندازه آخرین بعد آن استفاده می شود. varname اجباری. نام متغیر؛ می بایست طبق استاندارد نامگذاری متغیر تعیین شود. subscripts اجباری. ابعاد یک آرایه می باشد. حداکثر ۶۰ بعد می تواند اعلان شود. آرگومان subscripts طبق قاعده زبانی زیر بکار گرفته می شود: [ lower To ] upper [ , [ lower To ] upper ] . . . وقتی lower مشخص نشده باشد، کران پایین آرایه توسط دستور Option Base کنترل می گردد. اگر دستور Option Base استفاده…

https://iranvba.com/دستور-redim-تغییر-اندازه-و-ابعاد-آرایه-پویا/
واژه نامه IV | فهرست معادل های ایران VBA


IV فهرست معادل های فارسی واژگان بکاررفته در ایران VBA می باشد. این فهرست بصورت تدریجی تکمیل می گردد. ز- زیرنویس == subscript در برنامه نویسی هر آرایه ( Array ) می تواند شامل چند بعد و تعدادی عنصر باشد. هر آرایه متناظر با تعداد ابعاد آن می تواند شامل یک یا چند زیرنویس باشد. زیرنویس ها برای تعیین موقعیت هر عنصر در آرایه کاربرد دارند. بسته به نوع زبان برنامه نویسی نحوه نمایش زیرنویس ها متفاوت می باشد. زیرنویس در VBA در VBA زیرنویس ها داخل یک جفت پرانتز بعد از نام متغیر قرار می گیرند و بسته به تعداد ابعاد آرایه با استفاده از , ( comma ) از یکدیگر مجزا می شوند. Dim myArray(10, 2) ' اعلان آرایه دو بعدی myArray(0, 1) = "IV" ' تعیین مقدار عنصر سطر اول ستون دوم Debug.Print myArray(0, 1) ' نمایش مقدار عنصر اول ستون دوم در پنجره آنی زیرنویس در…

https://iranvba.com/واژه-نامه-iv-فهرست-معادل-های-ایران-vba/
دستور Option Base |‌تعیین کران پایین پیش فرض برای زیرنویس های آرایه


دستور Option Base در سطح ماژول برای اعلان کران پایین پیش فرض برای زیرنویس های آرایه می باشد. Syntax Option Base { 0 | 1 } ملاحظات با توجه به اینکه مبنای پیش فرض 0 (صفر) می باشد، دستور Option Base هرگز الزامی نمی باشد. اگر دستور در یک ماژول استفاده شود باید قبل از شروع هر روالی قرار بگیرد. Option Base فقط یکبار می تواند در یک ماژول ظاهر شود و می بایست مقدم بر اعلان آرایه هایی که شامل ابعاد است قرار بگیرد. نکته بند To در دستورات Dim، Private، Public، ReDim و Static راهکار انعطاف پذیرتری برای کنترل محدوده زیرنویس های یک آرایه می باشد. با این حال، اگر با استفاده از بند To کران پایین را مشخص نکرده باشید، می توانید با استفاده ازOption Base کران پایین پیش فرض (صفر) را به یک تغییر دهید. مبنای آرایه ای که با استفاده از کلمه کلیدی ParamArray ایجاد…

https://iranvba.com/دستور-option-base/
آرایه در VBA | آرایه ها و کاربرد آن ها در برنامه نویسی


آرایه ها ( array ) کاربرد گسترده ای در برنامه نویسی دارند و از مفاهیم کاربردی و پیشرفته برنامه نویسی می باشند. در این بخش از آموزش های رایگان وی بی ای قصد داریم با آرایه ها و کاربرد آنها در VBA آشنا شویم. array چیست؟ یک ساختار داده آرایه، یا بطور ساده یک آرایه، ساختار داده ای متشکل از مجموعه ای عناصر (متغیر یا داده) که هر کدام حداقل با یک شاخص ( index ) یا کلید شناخته می شوند، است. شاخصی که موقعیت هر داده را درون آرایه مشخص می نماید «اندیس» یا «زیرنویس» نامیده می شود. به همین دلیل به آرایه، متغیر زیرنویس دار نیز گفته می شود. داده های درون آرایه را «عناصر آرایه» می‌نامند که همگی قابلیت نگهداری فقط یک نوع داده را دارند. برای درک موضوع مجموعه A = {a1, a2 , ... an} را در نظر بگیرید. مجموعه A دارای n عضو می…

https://iranvba.com/آرایه-در-vba-آرایه-ها-و-کاربرد-آن-ها-در-برن/
گروه بندی داده ها در اکسل | افزودن خودکار جمع جزء و جمع کل به داده ها


گروه بندی داده ها و جمع جزء هر گروه یکی از چالش های همیشگی محیط های مالی و محاسباتی می باشد. در این بخش از آموزش های رایگان ایران VBA نحوه گروه بندی داده ها و افزودن خودکار جمع جزء و جمع کل در اکسل را یاد خواهیم گرفت. مقدمه شاید خیلی از مواقع پیش آمده که بصورت دستی اطلاعات خودتان رو گروه بندی کرده اید و با زحمت فراوان جمع جزء به هر گروه اضافه کرده اید. شاید اگر الان بدانید که اکسل اینکار را براحتی و فقط در عرض چند مرحله ساده انجام می دهد خیلی حسرت بخورید! اکسل ( Excel ) قابلیتی پیشرفته بعنوان Outline دارد که با استفاده از آن می توانید داده ها را براحتی و بصورت کاملاً خودکار گروه بندی و جمع جزء و کل را به انتهای هر گروه و انتهای داده های خود اضافه نمایید. در زیر با استفاده از یک مثال…

https://iranvba.com/گروه-بندی-داده-ها-در-اکسل/
گروه بندی داده ها در اکسل | افزودن خودکار جمع جزء و جمع کل به داده ها


گروه بندی داده ها و جمع جزء هر گروه یکی از چالش های همیشگی محیط های مالی و محاسباتی می باشد. در این بخش از آموزش های رایگان ایران VBA نحوه گروه بندی داده ها و افزودن خودکار جمع جزء و جمع کل در اکسل را یاد خواهیم گرفت. مقدمه شاید خیلی از مواقع پیش آمده که بصورت دستی اطلاعات خودتان رو گروه بندی کرده اید و با زحمت فراوان جمع جزء به هر گروه اضافه کرده اید. شاید اگر الان بدانید که اکسل اینکار را براحتی و فقط در عرض چند مرحله ساده انجام می دهد خیلی حسرت بخورید! اکسل ( Excel ) قابلیتی پیشرفته بعنوان Outline دارد که با استفاده از آن می توانید داده ها را براحتی و بصورت کاملاً خودکار گروه بندی و جمع جزء و کل را به انتهای هر گروه و انتهای داده های خود اضافه نمایید. در زیر با استفاده از یک مثال…

https://iranvba.com/گروه-بندی-داده-ها-در-اکسل/
کار با داده ها در اکسل | قابلیت های پیشرفته اکسل در مرتب سازی داده ها


اکسل ( Excel ) یک صفحه گسترده ( Spreadsheet ) است که می توان داده ها را در آن بصورت افقی و عمودی وارد نمود. اکسل قابلیت های پیشرفته ای دارد که کار با داده ها و مرتب سازی آنها را ساده تر می نماید. در لینک های زیر می توانید آموزش های مرتبط به کار با داده ها در اکسل را مشاهده نمایید. گروه بندی اطلاعات و افزودن خودکار جمع جزء ( subtotal )

https://iranvba.com/کار-با-داده-ها-در-اکسل/
آموزش پیشرفته اکسل | آموزش فرمول نویسی و کار با داده ها در اکسل


در این بخش از آموزش های رایگان ایران VBA قصد داریم آموزش پیشرفته اکسل را در دو بخش کار با داده ها در اکسل و کتابخانه فرمول های اکسل که مرجع فرمول های اکسل خواهد بود، برای شما فراهم آوریم. نرم افزار اکسل (excel) را می توان پرکاربردترین صفحه گسترده بخصوص در انجام امور مالی و محاسباتی در دنیا نامید. اکسل قابلیت های پیشرفته ای دارد که دستیابی به آنها بدون دانش برنامه نویسی نیز امکان پذیر می باشد. شاید بتوان برنامه نویسی VBA در اکسل را بدون دانستن قابلیت های پیشرفته اکسل آغاز نمود ولی قطعاً دانستن این قابلیت ها در مسیر برنامه نویسی VBA بسیار مفید خواهند بود و چه بسا که خیلی از مواقع با دانستن این قابلیت ها نیازی به برنامه نویسی هم نداشته باشید. آموزش های پیشرفته اکسل در وب سایت ایران VBA در دو بخش زیر بصورت رایگان در اختیار شما قرار دارد. کار…

https://iranvba.com/آموزش-پیشرفته-اکسل-آموزش-فرمول-نویسی-و/
واژه نامه اکسل | فهرست اصطلاحات اختصاصی بکار رفته در اکسل


واژه نامه اکسل شامل لیستی از اصطلاحات اختصاصی بکاررفته در نرم افزار اکسل بسته آفیس مایکروسافت می باشد. م- محدوده (range) محدوده (Range) در اکسل به فضای سلولی که بین دو سلول ابتدایی و انتهایی آن محدوده واقع می شود گفته می شود. محدوده (Range) با نام سلول ابتدای محدوده شروع می شود، علامت : (دو نقطه) در ادامه آن و در نهایت با نام سلول انتهای محدوده پایان می یابد. بعنوان مثال محدوده های A1:B5 و C4:BB5 دو نمونه از محدوده های مجاز در اکسل می باشند.

https://iranvba.com/واژه-نامه-اکسل-فهرست-اصطلاحات-اختصاصی/
فرمول نویسی در اکسل | چگونه در یک سلول اکسل فرمول بنویسم؟


در اکسل روش های مختلفی برای نوشتن فرمول در یک سلول وجود دارد. در این صفحه با فرمول نویسی و همچنین کاربرد توابع در اکسل آشنا خواهیم شد. روش های مختلف نوشتن فرمول نویسی در اکسل در اکسل دو روش برای نوشتن فرمول روی یک سلول وجود دارد. در زیر هر یک از این روش ها را جداگانه بررسی می نماییم. روش اول:‌ استفاده از علامت = (مساوی) ابتدایی ترین روش برای نوشتن فرمول در اکسل تایپ علامت = و سپس نوشتن فرمول می باشد. این روش را می توانید به دو شکل بکار برید. شکل اول: با استفاده از یکی از عملگرهای + برای جمع ، – برای تفریق، * برای ضرب، / برای تقسیم و ^ برای توان فرمول خود را بسازید. اجازه بدهید با یک مثال یک فرمول ساده با همین روش بنویسیم. مثال سلول A1 را در اکسل خود انتخاب نمایید و درون آن مقدار 10…

https://iranvba.com/فرمول-نویسی-در-اکسل-چگونه-در-یک-سلول-اک/
کتابخانه توابع اکسل | آموزش کامل کار با توابع توکار اکسل


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

https://iranvba.com/کتابخانه-توابع-اکسل-آموزش-کامل-کار-با/
کتابخانه توابع اکسل | آموزش کامل کار با توابع توکار اکسل


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

https://iranvba.com/کتابخانه-توابع-اکسل-آموزش-کامل-کار-با/
تابع IF اکسل | مقایسه منطقی با استفاده از تابع IF در اکسل


تابع IF یکی از توابع کاربردی در اکسل می باشد. در این آموزش با قسمت های تشکیل دهنده تابع IF در اکسل آشنا می شویم. اگر هنوز با روش های نوشتن فرمول در اکسل آشنا نیستید قبل از مطالعه این آموزش این صفحه را مشاهده نمایید. ورودی های تابع IF در اکسل پنجره Function Arguments تابع IF اکسل در تصویر زیر نمایش داده شده است. تابع IF در اکسل سه ورودی دارد که در زیر هر یک را بررسی می نماییم. آزمایش منطقی (Logical_test) آزمایش منطقی، مقایسه ای است که تابع IF اکسل انجام می دهد و بررسی می کند که برقرار است یا خیر. نتیجه مقایسه آزمایش منطقی فقط باید جواب درست (True)‌ یا غلط (False)‌ داشته باشد. بعنوان مثال فرض کنید می خواهید بدانید آیا مقدار سلول A4 از مقدار سلول A5 بیشتر است یا خیر؟ این مقایسه فقط می تواند دو جواب درست یا غلط داشته باشد.…

https://iranvba.com/تابع-if-اکسل-مقایسه-منطقی-با-استفاده-از-ت/