خانه / VBA / macro / مثال ضبط ماکرو

مثال ضبط ماکرو

 

مسئله

 ۱- مثال ضبط ماکروی که با فشردن دکمه Ctrl+e تاریخ امروز را در سلول A1 وارد نماید.

روش حل

به منظور ضبط چنین ماکرویی باید از نوع رفرنس دهی مطلق استفاده نمود ( تفاوت رفرنس مطلق و نسبی آن است که در حالت مطلق به محل سلول فعال توجهی ندارد و در هر بار اجرا نتایج حاصله یکسان می‌باشد و این در حالی است که در رفرنس نسبی، نتایج حاصله بر اساس وضعیت سلول فعال انجام می‌گیرد) و بدین منظور باید توجه کرد که Use Relative Refrences فعال نباشد. بعد از زدن دکمه ضبط، اسم ماکرو را Tarikh قرار داده و در قسمت دکمه‌های میان‌بر در جعبه خالی حرف e را وارد نموده. مطابق با شکل زیر

Record Macro_2

بعد از زدن کلید ok در سلول A1 مقدار تابع زیر را جهت وارد کردن تاریخ آمروز وارد نموده.

=today()

سپس بر روی سلول A1 رفته و مقدار سلول را کپی نموده و بر روی همان سلول از قسمت Paste Special حالت مقدار (Value) را برگزیده و ضبط ماکرو را متوقف کرده. در این حالت، در حر شرایطی با زدن دکمه ctrl+e در هر جای اکسل، مقدار تاریخ همان روز در سلول A1 ثبت می‌گردد.

۱-  ضبط ماکرویی که با فشردن دکمه Ctrl+Shift+e تاریخ امروز را در سلول زیرین سلول فعال چاپ نماید.

در این حالت، کلید Use Relative Refrences را فعال نموده (مانند شکل زیر)

سپس دکمه ضبط ماکرو را زده و در قسمت اسم ماکرو Tarikh2 را وارد نموده و در قسمت کلید میانبر، دکمه shift را از روی صفحه کلید نگه داشته و کلید e را فشار داده تا حالت Ctrl به حالت Ctrl +shift تغییر یابد (مانند شکل زیر)

Record Macro_3

بعد از تایید ضبط ماکرو از روی صفحه کلید جهت پایین را فشار داده تا نسبت به سلول فعال، یک سلول پایین تر رفته و آنجا فرمول =today() را چاپ نموده و مقدار حاصل را کپی نموده ودر همان سلول با حالت Value جایگزین کرده و عمل ضبط ماکرو را متوقف کرده.

در این حالت در هر جای اکسل با فشردن دکمه ctrl+shift+e ، نسبت به صورت اتوماتیک مقدار تاریخ امروز یک سلول پایین تر از سلول فعال چاپ می‌گردد.

درباره‌ی امید معتمدی

محقق، مدرس، نویسنده و مشاور در حوزه تحلیل داده