آلارم هشداردهنده در اکسل | یک قابلیت کاربردی و بی نظیر
سلام به مطلب دیگری از سری آموزش های جامع برنامه نویسی VBA در اکسل خوش آمدید .
امروز می خواهیم با هم یک آلارم هشداردهنده در اکسل ایجاد کنیم . یکی از کارهایی که ما در اکسل می توانیم انجام دهیم ثبت یک رویداد خاص برای روزهای آینده است .
مثلا ثبت سررسید تاریخ یک چک ، یا ثبت قرار های کاری در روزهای آینده ، یا ثبت تاریخ انقضا برای کالاهایی که تاریخ مصرف خاصی دارند .
بیایید همین مورد آخر را به عنوان یک پروژه برای خودمان تعریف کرده و با بررسی موضوعی آن آموزش خودمان را پیش ببریم .
می خواهیم با هم یک آلارم هشدار دهنده تاریخ ایجاد کنیم . می پرسید یعنی چی؟
یعنی اینکه یک آلارم در اکسل تعریف کنیم که قبل از رسیدن به یک تاریخ خاص برای ما یک هشدار صادر کند و ما را متوجه نزدیک شدن به تاریخ مورد نظرمان بکند .
برای ایجاد یک آلارم در اکسل نیاز به کد نویسی وی بی ای در اکسل داریم .
اما نیاز نیست که نگران چیزی باشید چون همه آنچه که برای ایجاد یک آلارم هشداردهنده در اکسل نیاز داریم را در این مطلب با هم و قدم به قدم ایجاد می کنیم .
من علیرضا شهرآئینی هستم و خوشحال می شوم که تا انتهای این مطلب با من همراه باشید.
من سعی می کنم که هر چیزی که برای ایجاد یک آلارم تاریخ در اکسل نیاز دارید را به ساده ترین شکل ممکن به شما آموزش بدهم .
یادتان باشد اینجا سافت پلاس است و در سافت پلاس سادگی حرف اول را می زند .
پس با هم برویم و شروع کنیم .
مراحل ایجاد یک آلارم هشدار دهنده در اکسل
برای ایجاد آلارم در اکسل نیاز به یک فایل نمونه داریم تا روی آن کار کنیم . من برای این کار از فایلی که در تصویر زیر مشاهده می کنید استفاده خواهم کرد . این فایل را در انتهای همین مطلب می توانید دانلود کنید .
ما در تصویر بالا فقط با دو تا ستون آخر در سمت چپ کار داریم .
در ستون E تاریخ تولید داروها و در ستون F تاریخ انقضای آنها را داریم .
برای قدم اول می خواهیم یک ستون جدید را به این مجموعه اضافه کنیم .
در داخل این ستون جدید می خواهیم اختلاف تاریخ حال حاضر سیستم کامپیوتر و تاریخ انقضای داروها را محاسبه کنیم .با این کار متوجه می شویم که هر دارو چند روز تا سر رسید تاریخ مصرفش باقی مانده است .
برای این کار فقط کافی است که از یک فرمول ساده برای اولین سلول استفاده کنیم . این فرمول ساده به قرار زیر است
در ستون F تاریخ تولید یک دارو و در ستون
=DATEDIF(F2,TODAY(),"D")
اینجا F2 سلولی است که تاریخ انقضای دارو را در خود نگه می دارد .
با استفاده از تابع Datedif اختلاف تاریخ مذکور با تاریخ روز سیستم را محاسبه می کنیم .در نهایت تعداد روز های باقی مانده از تاریخ مصرف یک داروی خاص را در این سلول خواهیم داشت .
حالا کاری که باید بکنیم این است که همین فرمول را به سلول های پایین تر از خودش هم تعمیم بدهیم .
پیشنهاد می کنم این مطلب را هم مطالعه کنید : نمایش پیغام خوش آمد گویی به کاربران در اکسس
کمی کد نویسی کنیم
در این مرحله از ایجاد آلارم در اکسل احتیاج به یک سری از کدها داریم تا با استفاده از آنها بتوانیم قابلیت آلارم در اکسل را برای خودمان ایجاد کنیم .
برای این کار مراحل زیر را دنبال کنید .
1- اول از همه دکمه های ALT +F11 را فشار دهید تا وارد محیط کد نویسی اکسل بشوید .
از منوی insert روی گزینه module کلیک کنید تا یک مازول برای شما ایجاد شود .
حالا تمامی کدهای زیر را کپی کرده و در داخل این ماژول قرار بدهید .
Sub Flashing_Cells()
Dim i As Long
Dim LastRow As Long
LastRow = 10
For i = 2 To LastRow
If Cells(i, 7) <= 5 And Cells(i, 7).Interior.Color <> RGB(255, 85, 52) Then
Range(Cells(i, 2), Cells(i, 7)).Interior.Color = RGB(255, 85, 52)
ElseIf Cells(i, 7) <= 5 And Cells(i, 7).Interior.Color = RGB(255, 85, 52) Then
Range(Cells(i, 2), Cells(i, 7)).Interior.Color = xlNone
End If
Next i
Application.OnTime Now + TimeValue("00:00:01"), "Flashing_Cells"
End Sub
توضیحات مربوط به کدهای بالا بطور کامل در ویدئوی زیر داده شده است . اما اگر بخواهم یک توضیح اجمالی برای این کدها بدهم باید بگویم که تمرکز ما در این کدها بر روی سلول های موجود در ستون 7 است .
در سلول های این ستون ما به دنبال دو تا چیز هستیم .
اول اینکه همه سلول ها را بررسی کرده و سلول هایی را که مقدار عددی آنها کمتر و مساوی با 5 است را پیدا کنیم .
دوم اگر سلولی دارای این شرط بود باید حتما رنگ آن سلول هم به رنگ مورد نظر ما باشد . در غیر اینصورت نه تنها خود آن سلول که رنگ کل سطر مربوط به آن سلول برای ما به رنگ مورد نظرمان تغییر داده شود .
در نهایت می خواهیم که این رنگ نه حالت ثابت که حالت آلارم دهنده باشد که این کار را به کمک خط آخر از کدهای خودمان انجام می دهیم .
همه این مراحل را در داخل فیلم هم می توانید مشاهده نمایید . در ضمن نمونه فایل آموزش هم در اختیارتان قرار می گیرد که می توانید از آن هم استفاده کنید .
یکی دیگر از آموزش های مربوط به برنامه نویسی VBA با موضوع ایجاد آلارم در اکسل به پایان رسید .
چطور بود ؟ این آموزش برای شما مفید بود ؟ اگر سوال یا مشکلی درباره این آموزش دارید حتما در بخش دیدگاهها مطرح کنید تا به آن پاسخ داده شود .
در ضمن هر موقع که خواستید شروع به یادگیری برنامه نویسی VBA در اکسل کنید می توانید روی کمک من حساب کنید . من تمام تجربیات و دانسته های خودم را در قالب پکیج آموزش جامع برنامه نویسیVBA در اکسل در اختیارتان قرار داده ام .
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : ندارد گزارش خرابی لینک
مطالب زیر را حتما مطالعه کنید
چطور زبان ورود اطلاعات در اکسس را کنترل کنیم ؟
با رعایت این نکات تبدیل به یک برنامه نویس حرفه ای در اکسل شوید .
۷ نکته مهم در برنامه نویسی VBA که باید آنها را بدانید
ماکرو نویسی در اکسل |ببینید که ماکروها چقدر کاربردی اند.
زبان وی بی ای مرده است
۱۰ کاری که بدون برنامه نویسی VBA قادر به انجامش نبودید .
توی این آموزش کارهایی رو بررسی می کنیم که فقط با استفاده از کدهای وی بی ای می شود آنها را در آفیس انجام داد .
9 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام این کد هاخوبن ولی اگه بخوایم تعدد روزهای مانده رو خودمون تعیین کنیم چکار باید کرد
برای این کار روش های مختلفی وجود داره مثلا می تونید از یک اینپوت باکس استفاده کنید یا به یک سلول رفرنس بدید
سلام
من از کد دستوری شما استفاده میکنم ولی متاسفانه قبول نمیکنه
و فقط تاریخ های قبل از تاریخ امروز را قبول میکند
سلام از نمونه فایل دانلودی استفاده کنید
با سلام تشکر بابت زحماتتون .من همه کارهایی که لازمه رو میکنم ارور میده .تاریخ هاب طولانی رو هم نشون. نمیده کلمه nub نشون میده .خروجی گرفتنی هم می نویسه ارور macro
سلام از فایل نمونه سایت هم استفاده کردید ؟ بهتره که کدها رو از داخل نمونه فایل وارد فایل مورد نظر خودتون بکنید . اگر باز هم خطایی بود من در خدمتم
سلام با تلاش های زیاد تونستم حل کنم ممنون .فقط یک مشکل دارم اونم اینه تاریخ های انقضای بالاتر از دو سال رو نمیشه وارد کرد .برای مثال در ۲۰۲۲هستیم اگه تاریخ انقضا رو ۲۰۲۳ یا ۲۰۲۴ بنویسیم ارور میده راهنمایی کنید مرسی
قاعدتا نباید اروری داشته باشیم . میشه متن اروز رو بنویسید تا ببینیم خطای کار کچاست ؟
سلام وقت بخیر کد ها به خوبی زدم و اوکی شده فقط تاریخ انقضا بیشتر از دو سال به بالا میزنم آلارم کدی که نوشتید میده؟؟ و در قسمت مهلت استفاده میزنه !num#
If Cells(i, 6) <= 5 And Cells(i, 6).Interior.Color RGB(255, 85, 52) Then اینم کدی که زرد نشون میده وقتی دوسال بالا میزنیم
ممنون میشم راهنمایی کنید