آموزش ماکرو Excel VBA برای مبتدیان همراه با مثال

  • این را به اشتراک بگذارید
Michael Brown

فهرست مطالب

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

برای مبتدیان اکسل، مفهوم ماکروها اغلب غیرقابل حل به نظر می رسد. در واقع، ممکن است ماه ها یا حتی سال ها آموزش برای تسلط بر VBA طول بکشد. با این حال، این بدان معنا نیست که نمی توانید فوراً از قدرت اتوماسیون ماکروهای اکسل استفاده کنید. حتی اگر در برنامه نویسی VBA کاملا مبتدی هستید، می توانید به راحتی یک ماکرو ضبط کنید تا برخی از کارهای تکراری خود را خودکار کنید.

این مقاله نقطه ورود شما به دنیای جذاب ماکروهای اکسل است. اصول اساسی که برای شروع باید بدانید را پوشش می‌دهد و پیوندهایی به آموزش‌های عمیق مرتبط ارائه می‌کند.

    ماکروها در اکسل چیست؟

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

    معمولاً، ماکروها برای خودکارسازی کارهای تکراری و روال روزانه استفاده می شوند. توسعه‌دهندگان ماهر VBA می‌توانند ماکروهای بسیار پیچیده‌ای بنویسند که فراتر از کاهش تعداد ضربه‌های کلید است.

    اغلب ممکن است افرادی را بشنوید که به یک "ماکرو" اشاره می‌کنند.این مراحل را دنبال کنید:

    1. کتاب کاری را که می خواهید ماکروها را در آن وارد کنید باز کنید.
    2. ویرایشگر ویژوال بیسیک را باز کنید.
    3. در Project Explorer، کلیک راست کنید. نام پروژه را انتخاب کنید و Import File را انتخاب کنید.
    4. به فایل .bas بروید و روی Open کلیک کنید.

    نمونه‌های ماکرو اکسل

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

    همه برگه ها را در یک کتاب کار باز کنید

    در این مثال، ما از <استفاده می کنیم. شی 1>ActiveWorkbook برای برگرداندن کتاب کار فعال فعلی و حلقه For Every برای عبور از تمام برگه های کتاب کار یک به یک. برای هر برگه یافت شده، ویژگی Visible را روی xlSheetVisible قرار می دهیم.

    Sub Unhide_All_Sheets() Dim wks As Worksheet برای هر هفته در ActiveWorkbook.Worksheets wks.Visible = xlSheetVisible هفته های بعدی End Sub

    کاربرگ فعال را مخفی کنید یا آن را بسیار مخفی کنید

    برای دستکاری برگه فعال فعلی، از شی ActiveSheet استفاده کنید. این ماکرو نمونه، ویژگی Visible صفحه فعال را به xlSheetHidden تغییر می دهد تا آن را پنهان کند. بهصفحه را بسیار مخفی کنید، ویژگی Visible را روی xlSheetVeryHidden تنظیم کنید.

    Sub Hide_Active_Sheet() ActiveSheet.Visible = xlSheetHidden End Sub

    لغو ادغام تمام سلول های ادغام شده در محدوده انتخاب شده

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

    Sub Unmerge_Cells() Selection.Cells.UnMerge End Sub

    نمایش جعبه پیام

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

    Sub Show_Message() MsgBox ("Hello World!") End Sub

    در ماکروهای واقعی، یک جعبه پیام معمولاً برای اهداف اطلاعاتی یا تأیید استفاده می‌شود. به عنوان مثال، قبل از انجام یک عمل (جداسازی سلول ها در مورد ما)، یک کادر پیام بله/خیر را نمایش می دهید. اگر کاربر روی "بله" کلیک کند، سلول های انتخاب شده ادغام نمی شوند.

    Sub Unmerge_Selected_Cells() Dim Answer As String Answer = MsgBox( "آیا مطمئن هستید که می خواهید این سلول ها را از حالت ادغام خارج کنید؟" , vbQuestion + vbYesNo, "Unmerge Cells" ) اگر Answer = vbYes سپس Selection.Cells.UnMerge End If End Sub

    برای آزمایش کد، یک یا چند محدوده حاوی سلول های ادغام شده را انتخاب کنید و ماکرو را اجرا کنید. پیام زیر ظاهر می شود:

    در زیر پیوندهایی به ماکروهای پیچیده تر وجود دارد که چالش و زمان را خودکار می کند.کارهای مصرفی:

    • ماکرو برای کپی برگه‌ها از چندین کتاب کار به یک
    • ماکرو برای تکثیر برگه‌ها در اکسل
    • ماکرو برای الفبایی کردن برگه‌ها در اکسل
    • ماکرو برای حذف محافظت از صفحه بدون رمز عبور
    • ماکرو برای شمارش و جمع سلول های رنگی مشروط
    • ماکرو برای تبدیل اعداد به کلمات
    • ماکرو برای مخفی کردن همه کاربرگ ها اما برگه فعال
    • ماکروها برای نمایش صفحه‌ها
    • ماکرو برای نمایش همه ستون‌ها
    • ماکروها برای پنهان کردن برگه‌ها
    • ماکرو برای حذف تمام شکست‌های خط در یک صفحه فعال
    • ماکرو برای حذف ردیف‌های خالی
    • ماکرو برای حذف هر ردیف دیگر
    • ماکرو برای حذف ستون‌های خالی
    • ماکرو برای درج هر ستون دیگر
    • ماکروها در بررسی املا در اکسل
    • ماکرو برای جابجایی ستونها به ردیفها
    • ماکرو برای برگرداندن ستونها در اکسل
    • ماکروها برای تنظیم ناحیه چاپ
    • ماکروها برای درج شکستگی صفحه

    چگونه از ماکروهای اکسل محافظت کنیم

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

    قفل کردن ماکرو برای مشاهده

    برای محافظت از کدهای VBA در برابر مشاهده و ویرایش غیرمجاز، موارد زیر را انجام دهید:

    1. VBA را باز کنید ویرایشگر.
    2. در Project Explorer، روی پروژه ای که می خواهید قفل شود کلیک راست کرده و VBAProject Properties…
    3. در Project Properties<را انتخاب کنید. 2> کادر محاوره ای، در برگه حفاظت ، قفل را علامت بزنیدپروژه برای مشاهده کادر ، رمز عبور را دو بار وارد کنید، و روی OK کلیک کنید.
    4. ذخیره، بستن و بازگشایی فایل اکسل خود.

    وقتی سعی می کنید کد را در ویرایشگر ویژوال بیسیک مشاهده کنید، کادر محاوره ای زیر ظاهر می شود. رمز عبور را تایپ کرده و روی OK کلیک کنید.

    برای باز کردن قفل ماکروها ، کافی است کادر محاوره ای Project Properties را دوباره باز کنید و یک تیک را بردارید. از کادر قفل کردن پروژه برای مشاهده .

    توجه داشته باشید. این روش کد را از مشاهده و ویرایش محافظت می کند اما مانع از اجرای آن نمی شود.

    محافظت با رمز عبور ماکرو در برابر اجرا

    برای محافظت از ماکرو خود در برابر اجرا شدن به طوری که فقط کاربرانی که رمز عبور را می دانند بتوانند آن را اجرا کنند، کد زیر را اضافه کنید و کلمه "password" را با رمز عبور واقعی خود جایگزین کنید. :

    Sub Password_Protect() رمز عبور کم نور به عنوان رمز عبور متغیر = Application.InputBox( "لطفا رمز عبور را وارد کنید" , "ماکرو محافظت شده با رمز عبور") رمز عبور موردی را انتخاب کنید Case Is = False 'هیچ کاری انجام ندهید Case Is = "گذرواژه" 'کد شما اینجاست Case Else MsgBox "رمز عبور نادرست" پایان انتخاب End Sub

    ماکرو از تابع InputBox برای درخواست از کاربر برای وارد کردن رمز عبور استفاده می کند:

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

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

    نکات ماکرو اکسل

    متخصصین Excel VBA هزاران ترفند مبتکرانه ابداع کرده اند تا ماکروهای خود را موثرتر کنند. در زیر چند مورد مورد علاقه خود را به اشتراک خواهم گذاشت.

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

    خطوط زیر باید به ابتدای کد شما اضافه شوند (بعد از خطوطی که با Dim یا بعد از Sub شروع می‌شوند. خط):

    Application.ScreenUpdating = False Application.Calculation = xlCalculationManual

    خطوط زیر باید به انتهای کد شما اضافه شوند (قبل از End Sub ):

    Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic

    نحوه شکستن کد VBA به چندین خط

    هنگام نوشتن کد در ویرایشگر VBA، گاهی اوقات ممکن است عبارات بسیار طولانی ایجاد کنید، بنابراین باید به صورت افقی پیمایش کنید برای مشاهده انتهای خط این بر اجرای کد تأثیر نمی گذارد، اما بررسی کد را دشوار می کند.

    برای تقسیم یک عبارت طولانی به چند خط، یک space و سپس یک خط (_) در نقطه ای که می خواهید خط را بشکنید. در VBA، به آن کاراکتر ادامه خط می گویند.

    برای ادامه کد در خط بعدی به درستی، لطفاً این قوانین را دنبال کنید:

    • نباید کد را در وسط نام آرگومان ها تقسیم کنید.
    • از خط زیر برای شکستن نظرات استفاده نکنید. برای نظرات چند خطی، یک آپستروف (') را در ابتدای هر خط تایپ کنید.
    • یک خط زیر باید آخرین کاراکتر در یک خط باشد و هیچ چیز دیگری به دنبال آن نباشد.

    مثال کد زیر نحوه شکستن عبارت را به دو خط نشان می دهد:

    Answer = MsgBox( "آیا مطمئن هستید که می خواهید این سلول ها را از حالت ادغام خارج کنید؟" , _ vbQuestion + vbYesNo, "Unmerge Cells" )

    چگونه ماکرو را از هر کتاب کار قابل دسترسی کنید

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

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

    نحوه واگرد یک عملکرد ماکرو

    پس از اجرای ماکرو، عملکرد آن با فشار دادن Ctrl + Z و یا با کلیک بر روی دکمه قابل بازگشت نیست.دکمه لغو .

    برنامه نویسان باتجربه VBA، البته، می توانند مقادیر ورودی و/یا شرایط شروع را قبل از اجازه دادن به ماکرو برای ایجاد هر گونه تغییر در کاربرگ، اعتبارسنجی کنند، اما در بیشتر موارد اینطور است. بسیار پیچیده است.

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

    ActiveWorkbook.Save

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

    به این ترتیب، اگر شما (یا کاربرانتان) از نتایج راضی نیستید، می‌توانید به سادگی کتاب کار را ببندید، و سپس دوباره باز کنید.

    Excel را از نمایش هشدار امنیتی متوقف کنید. هنگامی که هیچ ماکرو در یک کتاب کار وجود ندارد

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

    محتمل ترین دلیل این است که مقداری کد VBA اضافه شده و سپس حذف شده است و یک ماژول خالی باقی می ماند که هشدار امنیتی را فعال می کند. برای خلاص شدن از شر آن، به سادگی ماژول را حذف کنید، کتاب کار را ذخیره کنید، آن را ببندید و دوباره باز کنید. اگر این کار کمکی نکرد، موارد زیر را انجام دهید:

    • برای ThisWorkbook و برای هر برگه جداگانه، پنجره Code را باز کنید، Ctrl + A را فشار دهید تا همه کدها انتخاب شده و آن را حذف کنید. (حتی اگر پنجره کد به نظر برسدخالی).
    • هر UserForms و Class Module را که کتاب کار حاوی آن است حذف کنید.

    به این صورت است که ماکروهای VBA را در Excel ایجاد و استفاده می کنید. از خواندن شما سپاسگزارم و امیدوارم هفته آینده دوباره شما را در وبلاگ خود ببینم!

    به عنوان "VBA". از نظر فنی، یک تمایز وجود دارد: ماکرو یک قطعه کد است در حالی که Visual Basic for Applications (VBA) زبان برنامه نویسی است که توسط مایکروسافت برای نوشتن ماکروها ایجاد شده است.

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

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

    فرض کنید، باید یک گزارش هفتگی برای سرپرست خود ایجاد کنید. برای این کار، داده های تحلیلی مختلفی را از چند یا چند منبع خارجی وارد می کنید. مشکل این است که آن داده‌ها نامرتب، اضافی هستند، یا در قالبی نیستند که اکسل بتواند آن را درک کند. این بدان معناست که شما باید تاریخ ها و اعداد را مجدداً قالب بندی کنید، فضاهای اضافی را کوتاه کنید و جاهای خالی را حذف کنید، اطلاعات را در ستون های مناسب کپی و جای گذاری کنید، نمودارهایی را برای تجسم روندها بسازید، و کارهای بسیار متفاوت تری انجام دهید تا گزارش خود را واضح و کاربرپسند نشان دهید. اکنون، تصور کنید که تمام این عملیات‌ها را می‌توان فوراً با یک کلیک ماوس برای شما انجام داد!

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

    نحوه ایجاد یک ماکرو در اکسل

    دو راه برای ایجاد وجود دارد.ماکروها در اکسل - با استفاده از ضبط کننده ماکرو و ویرایشگر ویژوال بیسیک.

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

    ضبط ماکرو

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

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

    برای شروع ضبط، روی دکمه Record Macro در یکی از Developer<کلیک کنید. برگه 2> یا نوار وضعیت .

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

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

    ویرایشگر ویژوال بیسیک برای برنامه های کاربردی (VBA) جایی است که مایکروسافت اکسل کد همه ماکروها را، چه ضبط شده و چه به صورت دستی نوشته شده، نگه می دارد.

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

    اول، Alt + F11 را فشار دهید تا ویرایشگر ویژوال بیسیک باز شود. و سپس، کد را در این دو مرحله سریع وارد کنید:

    1. در Project Explorer در سمت چپ، روی workbook مورد نظر کلیک راست کرده و سپس روی Insert ><1 کلیک کنید>Module .
    2. در پنجره Code در سمت راست، کد VBA را جایگذاری کنید.

    پس از اتمام، F5 را فشار دهید تا ماکرو اجرا شود.

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

    نحوه اجرای ماکروها در اکسل

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

    • برای اجرای ماکرو از یک کاربرگ، روی دکمه Macros در تب Developer کلیک کنید یا میانبر Alt + F8 را فشار دهید.
    • برای اجرای یک ماکرو از ویرایشگر VBA، یکی از این موارد را فشار دهید:
      • F5 را برای اجرای کل کد.
      • F8 را فشار دهید تا کد را خط به خط مرور کنید. این برای آزمایش و عیب یابی بسیار مفید است.

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

    چگونه ماکروها را در اکسل فعال کنیم

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

    ساده ترین راه برای روشن کردن ماکروها برای یک کتاب کار خاص این است که روی فعال کردن محتوا<11 کلیک کنید. دکمه> در نوار هشدار امنیتی زرد رنگ که هنگام باز کردن یک کتاب کار با ماکروها در بالای صفحه ظاهر می‌شود. برای فعال و غیرفعال کردن ماکروها در اکسل.

    نحوه تغییر تنظیمات ماکرو

    Microsoft Excel تعیین می‌کند که آیا اجازه یا عدم اجرای کدهای VBA در کتاب‌های کاری شما بر اساس تنظیمات ماکرو انتخاب شده در Trust Center .

    در اینجا مراحل دسترسی به تنظیمات ماکرو Excel و تغییر آنها در صورت نیاز آمده است:

    1. به برگه File بروید. و گزینه ها را انتخاب کنید.
    2. در قسمت سمت چپ، Trust Center را انتخاب کنید، و سپس روی Trust Center Settings… کلیک کنید.
    3. در کادر گفتگوی Trust Center ، روی تنظیمات ماکرو در سمت چپ کلیک کنید، گزینه مورد نظر را انتخاب کنید و روی OK<2 کلیک کنید>.

    در تصویر زیر، تنظیمات ماکرو پیش‌فرض انتخاب شده است:

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

    نحوه مشاهده، ویرایش و اشکال زدایی VBAکدهای موجود در اکسل

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

    برای باز کردن VB ویرایشگر، Alt + F11 را فشار دهید یا روی دکمه Visual Basic در برگه Developer کلیک کنید.

    برای مشاهده و کد یک ماکرو خاص را ویرایش کنید ، در Project Explorer در سمت چپ، روی ماژول حاوی آن دوبار کلیک کنید، یا روی ماژول راست کلیک کنید و View Code<2 را انتخاب کنید> این پنجره کد را باز می کند که در آن می توانید کد را ویرایش کنید.

    برای تست و اشکال زدایی یک ماکرو، از کلید F8 استفاده کنید. این شما را خط به خط کدهای ماکرو را هدایت می کند و به شما امکان می دهد تأثیری را که هر خط روی کاربرگ شما می گذارد را مشاهده کنید. خطی که در حال حاضر اجرا می شود با رنگ زرد مشخص شده است. برای خروج از حالت اشکال زدایی، روی دکمه بازنشانی در نوار ابزار (مربع آبی) کلیک کنید.

    نحوه کپی کردن یک ماکرو در کتاب کار دیگر

    شما یک ماکرو در یک کتاب کار ایجاد کردید و اکنون می خواهید از آن در فایل های دیگر نیز استفاده مجدد کنید؟ دو راه برای کپی کردن یک ماکرو در اکسل وجود دارد:

    کپی ماژول حاوی ماکرو

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

    1. هر دو کتاب کار را باز کنید - کتابی که حاوی ماکرو است و موردی که می خواهید آن را کپی کنید.
    2. باز کردنویرایشگر ویژوال بیسیک.
    3. در پنجره Project Explorer، ماژول حاوی ماکرو را پیدا کنید و آن را به کتاب کار مقصد بکشید.

    در تصویر زیر، ما در حال کپی کردن <1 هستیم>Module1 از Book1 به Book2 :

    کپی کد منبع یک ماکرو

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

    1. هر دو کتاب کار را باز کنید.
    2. ویرایشگر ویژوال بیسیک را باز کنید.
    3. در پنجره Project Explorer، روی ماژول حاوی ماکرو مورد نظر دابل کلیک کنید. مایلم کپی کنم تا پنجره کد آن باز شود.
    4. در پنجره کد، ماکرو هدف را پیدا کنید، کد آن را انتخاب کنید (شروع با Sub و پایان با End Sub ) و Ctrl + C را فشار دهید تا آن را کپی کنید.
    5. در Project Explorer، کتاب کار مقصد را پیدا کنید، و سپس یک ماژول جدید را در آن قرار دهید (روی کتاب کار راست کلیک کنید و Insert<2 را کلیک کنید> > Module ) یا روی یک ماژول موجود دوبار کلیک کنید تا پنجره کد آن باز شود.
    6. در پنجره کد ماژول مقصد، Ctrl + V را فشار دهید تا کد را جایگذاری کنید. اگر ماژول قبلاً حاوی مقداری کد است، به آخرین خط کد بروید و سپس ماکرو کپی شده را جایگذاری کنید.

    چگونه ماکروها را در اکسل حذف کنیم

    اگر دیگر به کد VBA خاصی نیاز ندارید، می توانید آن را با استفاده از کادر محاوره ای Macro یا ویرایشگر ویژوال بیسیک حذف کنید.

    حذف یکماکرو از کتاب کار

    برای حذف مستقیم یک ماکرو از کتاب کار اکسل، این مراحل را انجام دهید:

    1. در برگه Developer ، در گروه کد ، روی دکمه Macros کلیک کنید یا میانبر Alt + F8 را فشار دهید.
    2. در کادر محاوره ای Macro ، ماکرویی را که می خواهید حذف کنید انتخاب کنید و Delete را کلیک کنید.

    نکات:

    • برای مشاهده همه ماکروها در همه فایل‌های باز، <را انتخاب کنید 10>همه Workbooks را از لیست کشویی Macros in باز کنید.
    • برای اینکه بتوانید یک ماکرو را در کتاب کار شخصی ماکرو حذف کنید، ابتدا باید Personal.xlsb را از حالت پنهان خارج کنید.

    حذف یک ماکرو از طریق ویرایشگر ویژوال بیسیک

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

    برای حذف دائمی یک ماژول ، این مراحل را انجام دهید:

    1. در Project Explorer ، روی ماژول کلیک راست کرده و Remove را از منوی زمینه انتخاب کنید.
    2. هنگامی که از شما پرسیده شد که آیا می خواهید ماژول را قبل از حذف آن صادر کنید، روی <کلیک کنید. 1>خیر .

    برای حذف یک ماکرو خاص ، به سادگی کد منبع آن را مستقیماً در پنجره کد حذف کنید. یا، می‌توانید با استفاده از منوی ابزار ویرایشگر VBA، یک ماکرو را حذف کنید:

    1. از منوی ابزارها ، ماکروها<11 را انتخاب کنید> راکادر محاوره ای Macros ظاهر می شود.
    2. در لیست کشویی Macros In ، پروژه حاوی ماکرو ناخواسته را انتخاب کنید.
    3. در کادر نام ماکرو ، ماکرو را انتخاب کنید.
    4. دکمه Delete را کلیک کنید.

    چگونه ماکروها را در اکسل ذخیره کنیم

    برای ذخیره یک ماکرو در اکسل، چه ضبط شده یا نوشته شده به صورت دستی، فقط کتاب کار را به صورت ماکرو فعال ذخیره کنید (*.xlms). به این صورت است:

    1. در فایل حاوی ماکرو، روی دکمه ذخیره کلیک کنید یا Ctrl + S را فشار دهید.
    2. Save As کادر محاوره ای ظاهر می شود. Excel Macro-Enabled Workbook (*.xlsm) را از لیست کشویی Save as type انتخاب کنید و روی Save کلیک کنید:

    نحوه صادرات و وارد کردن ماکروها در اکسل

    اگر می خواهید کدهای VBA خود را با شخصی به اشتراک بگذارید یا آنها را به رایانه دیگری منتقل کنید، سریعترین راه این است که کل ماژول به عنوان یک فایل .bas.

    صادر کردن ماکروها

    برای صادر کردن کدهای VBA، این کاری است که باید انجام دهید:

    1. کتاب کاری حاوی ماکروها.
    2. Alt + F11 را فشار دهید تا ویرایشگر ویژوال بیسیک باز شود.
    3. در Project Explorer، روی Module حاوی ماکروها کلیک راست کرده و Export File را انتخاب کنید.
    4. به پوشه ای که می خواهید فایل صادر شده را ذخیره کنید بروید، نام فایل را بگذارید و روی ذخیره کلیک کنید.

    وارد کردن ماکروها

    برای وارد کردن یک فایل .bas با کدهای VBA به اکسل خود، لطفاً

    مایکل براون یک علاقه‌مند به فناوری است که علاقه زیادی به ساده‌سازی فرآیندهای پیچیده با استفاده از ابزارهای نرم‌افزاری دارد. او با بیش از یک دهه تجربه در صنعت فناوری، مهارت های خود را در Microsoft Excel و Outlook و همچنین Google Sheets و Docs تقویت کرده است. وبلاگ مایکل اختصاص داده شده است تا دانش و تخصص خود را با دیگران به اشتراک بگذارد و نکات و آموزش هایی را برای بهبود بهره وری و کارایی ارائه دهد. چه یک حرفه ای با تجربه باشید و چه مبتدی، وبلاگ مایکل، بینش های ارزشمند و توصیه های عملی را برای استفاده حداکثری از این ابزارهای نرم افزاری ضروری ارائه می دهد.