سبد خرید
0

سبد خرید شما خالی است.

تمام دسته ها
  • تمام دسته ها
  • Power BI
  • Power Pivot
  • Power Query
  • ابزارها
  • افزونه ها
  • اکسل مدیا
  • توابع اکسل
  • دسته‌بندی نشده
  • دیده بان
  • گوگل شیت
  • مسائل کاربردی
  • معرفی کتاب
  • نمودار ها
  • وی بی - ماکرو

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

ماکرو در اکسل
۵/۵ - (۱۹ امتیاز)

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

  • فرض کنید ۱۰ شیت مشابه دارید و میخواید تنظیمات پرینت انجام بدید و پرینت بگیرید (این کار ممکن است بارها تکرار بشه). راه حلی که بشه این کار رو سریع و با دقت انجام داد، استفاده از ماکرو هست.
  • مثلا فرض کنید هر بار محدوده ای را باید کپی کرده و به محدوده دیگری منتقل کنید. این کار رو هم بدون اینکه لازم باشه هر بار مراحل رو انجام بدید، می تونید با یک بار ضبط ماکرو و اجرای آن در زمان های بعد، به کارتون سرعت بیشتری ببخشید.
  • به این نکته دقت داشت باشید که در ضبط ماکرو نیاز نیست شما با کدهای VBA و برنامه نویسی آشنا باشید. ماکرو واسطی است بین شما و اکسل که بدون نیاز به دانش برنامه نویسی، کارهای شما رو مکانیزه میکنه.

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

سوالی که برای خیلی ها در مورد ماکرو هست اینه که دقیقا ماکرو، چی هست؟ به زبان ساده، تبدیل عملیاتی که ما در اکسل انجام میدیم، به کدهای VBA رو ضبط ماکرو انجام میده. مثلا عملیات مورد نظر ما این بوده که رنگ پس زمینه سلول A1 قرمز رنگ شود. خب بعد از اینکه ضبط ماکرو (که مراحل اجرای آن در ادامه شرح داده شده) آغاز شد، شروع میکنیم به اجرای عملیات مورد نظر. یعنی سل A1 رو انتخاب میکنیم و رنگ پس زمینه آن را به قرمز رنگ تغییر می دهیم و دکمه پایان ضبط ماکرو را میزنیم. در حین انجام این عملیات، کد متناظر با این عملیات ذخیره میشه و هر بار که اجرا بشه، همون عملیات تکرار خواهد شد. مثلا دوباره سل A1 رو بی رنگ میکنیم. این بار بجی اینکه مستقیم سل رو رنگی کنیم، کد ضبط شده رو اجرا میکنیم. با اجرای کد، سل A1 به رنگ قرمز در میاد. کد متناظر با تغییر رنگ پس زمینه سلول A1 به رنگ قرمز عبارت است از:

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

حالا این سوال براتون پیش میاد که این کدها کجا هستند و از کجا میتونیم ببینمشون؟ در اکسل محیطی هست که کارش ویرایش و مشاهده کدهای وی بی هست. برای اینکه به این محیط وارد بشید چند راه دارید:

  • استفاده از کلید میانبر Alt+F11
  • کلیک راست بر روی نام شیت و انتخاب گزینه View Code
  • دکمه Visual Basic از منو Developer (حواستون باشه این منو در حالت عادی دیده نمیشه و باید فعالش کنید)

ماکرو در اکسل - محیط برنامه نویسی

شکل ۱- ماکرو در اکسل – محیط برنامه نویسی (VBE)

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

ذخیر ماکرو بسیار کاربردی هست اما در این مورد باید چند نکته رو بدونید:

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

ضبط ماکرو

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

  • یک فایل اکسل جدید باز کنید.
  • وارد محیط ویرایشگر کد وی بی (VBE) بشید.
  • دو پنجره اکسل و ویرایشگر رو کنار هم قرار بدید.
  • حالا از منو View، از بخش Macros گزینه Record Macro رو بزنید و از پنجره باز شده گزینه OK رو انتخاب کنید.
  • حالا شروع کنید به کار کردن با اکسل، سلول ها رو کلیک کنید، متنی بنویسید، رنگ ها رو تغییر بدید، با ابزارها کار کنید. در پایان روی گزینه Stop در گوشه سمت چپ و پایین در کنار کلمه Ready دیده میشه
  • با شروع ضبط ماکرو یک ماژول با نام Module1 به صفحه VBE اضافه میشه که دستوراتی که از این به بعد ایجاد میشه اونجا ذخیره میشه و شما همزمان دارید میبینید چه کدهایی داره ثبت میشه. شکل ۲

ماکرو - شروع ضبط ماکرو

شکل ۲- ماکرو در اکسل – نتیجه ضبط کدها

به ماژول اضافه شده (با نام Module1) که حاوی کد ایجاد شده هست دقت کنید.

تو این آموزش مقداری با ماکرو و ضبط ماکرو آشنا شدیم و دانستیم که ماکروها در چه مواردی بهترین گزینه هستند. اما توجه کنید:

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

نکته:
توجه داشته باشید بعد از ضبط ماکرو و یا نوشتن هر کد وی بی باید فایل رو با فرمت Excel Macro-Enabled Workbook که پسوند xlsm یا Excel Binary Workbook با پسوند xlsb دارد ذخیره کنید تا کدهای ایجاد شده از بین نروند.

 

اگر نکته ای در مورد این آموزش هست مطرح کنید تا در موردش صحبت کنیم.

پیشنهاد میکنیم آموزش های زیر رو هم ببینید:

کلیدواژه : مقدماتی
126

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

دیدگاه کاربران
  • zafari ۱ شهریور ۱۴۰۰ / ۱۲:۴۷ ب٫ظ

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

    • آواتار
      حسنا خاکزاد ۱ شهریور ۱۴۰۰ / ۳:۲۸ ب٫ظ

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

  • mohamd ۲۲ دی ۱۳۹۹ / ۹:۳۳ ب٫ظ

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

    • سامان چراغی ۲۳ دی ۱۳۹۹ / ۱۱:۵۶ ق٫ظ

      سلام، تشکر
      زبان برنامه نویسی متلب با اکسل (VBA) متفاوت هست و امکان کپی پیست این کدها نیست.
      ضمن اینکه Object های اکسل با متلب متفاوت هست و برای اجرای برنام مورد نظر شما نیاز هست که کدها بازنویشی بشن.
      ممکن هست که مطلب یک API تعریف کرده باشه که سایر نرم افزارها امکان اجرای کدهای متلب رو درون محیط متلب و دریافت نتیجه محاسبات داشته باشند که این کار نیاز به بررسی Manual های مربوطه هست.

  • moj ۲۸ بهمن ۱۳۹۸ / ۹:۰۸ ب٫ظ

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

    من یک کلید ماکرو درست کردم برای پرینت صفحاتم هنگامیکه روی اون میزنم بدون مشکل از یک یک شیتها پرینت میگیره ، پرینتر تعریف شده من pdf هست ، مشکلی که هست مثلا ۱۰ صفحه پرینت pdf رو میاره بالا و من یکی یکی باید اسم بدم و بعد سیو کنم آیا راهی هست که خودش بطور خودکار فایلهای pdf رو نامگذاری کنه بعد سیو کنه و دیگه من احتیاجی به سیو کردن یکی یکی اونا نداشته باشم باز هم تشکر

    • سامان چراغی ۲۹ بهمن ۱۳۹۸ / ۳:۵۵ ب٫ظ

      سلام
      از روتین زیر در یک ماژول استفاده کنید:

      • مجتبی آیین مهر ۲۹ بهمن ۱۳۹۸ / ۴:۵۰ ب٫ظ

        ضمن تشکر ببینید الان من با یک پرینتر با فرمان زیر روی کاغذ به راحتی پرینت میگیرم حالا میخوام بصورت pdf پرینت بگیرم به روشی که گفته بودم از روتینی که شما دادید استفاده میکنم ارور میده ، فرمان من اینه :

        • سامان چراغی ۳۰ بهمن ۱۳۹۸ / ۸:۵۱ ق٫ظ

          دقت کنید که در قسمت Address\FileName در کدی که براتون ارسال کردم آدرس و نام فایل PDF رو اصلاح کنید.
          در نهایت اگر مجددا خطا داد مشخص کنید که روی کدام خط خطا میگیرید.

          • مجتبی آیین مهر ۳۰ بهمن ۱۳۹۸ / ۷:۴۴ ب٫ظ

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

          • سامان چراغی ۱ اسفند ۱۳۹۸ / ۹:۴۴ ب٫ظ

            خواهش میکنم
            بله امکانش هست.
            کافیه در یک متغیر از جنس String آدرس نهایی فایل رو بسازید به اینصورت که بخشی از آدرس رو از سلول بگیره و نهایتا به جای آدرس از متغیر استفاده کنید.

          • مجتبی آیین مهر ۳ اسفند ۱۳۹۸ / ۸:۲۱ ب٫ظ

            با سلام آقا ی مهندس ،من دقیقا مطلبی که در زیر گفتید نفهمیدم میتونید یه فرمول برای من بگذارید که وقتی یک صفحه معمولی رو خواستم بصورت pdf سیو کنم خودش بیاد در قسمت filename بطور اتومات از یک سلولی نام رو کپی کنه و بعد فایل رو سیوکنه ؟ ( البته کاری که من میخواهم انجام بدم دقیقتر ذکر کرده بودم)
            صحبت شما این بود : کافیه در یک متغیر از جنس String آدرس نهایی فایل رو بسازید به اینصورت که بخشی از آدرس رو از سلول بگیره و نهایتا به جای آدرس از متغیر استفاده کنید.

            تشکر فراوان

          • سامان چراغی ۱۱ اسفند ۱۳۹۸ / ۷:۲۵ ب٫ظ

            سلام
            در این مثال فرض شده که نام کاربری در سلول A1 مربوط به Sheet1 قرار داره که باید اصلاحش کنید. همچنین آدرس مورد نظر در ردیف ۴ کد زیر باید با آدرسی که میخواید جایگزین بشه.
            به صورت کلی کدتون باید مثل کد زیر باشه:

  • mrfotoohi ۱۰ بهمن ۱۳۹۸ / ۱۲:۰۱ ب٫ظ

    سلام . من یه ماکرو رو ضبط کردم که یه تغییراتی رو روی سلول A1 در شیت۱ انجام میده و بعد در شیت ۲ توی سلول A1 میندازه . حالا تو شیت۱ من کلی داده دارم تو همون ستون A . اگه بخوام توی شیت۲ تمام تغییرات مثل A1 رو انجام بده و برام تو شیت ۲ بزاره چطور ماکرو ضبط شده رو بسط بدم .
    ممنون

    • آواتار
      حسنا خاکزاد ۱۰ بهمن ۱۳۹۸ / ۱۲:۵۰ ب٫ظ

      درود
      اگر یک کار رو بخواید تکرار کنید، باید از یک حلقه For استفاده کنید

      • mrfotoohi ۱۰ بهمن ۱۳۹۸ / ۱۲:۵۹ ب٫ظ

        میشه کاملتر توضیح بدید .

  • سپیده ۱۸ آبان ۱۳۹۸ / ۱۱:۳۷ ق٫ظ

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

  • احمد ۲۷ شهریور ۱۳۹۸ / ۶:۵۴ ب٫ظ

    سلام.با تشکر از شما
    یک فایل کالاهای انبار در سه شیت وجود دارد. در صورتیکه در شیت ورود یاخروج کالایی ثبت شود موجودی کل در شیت سوم نمایش داده می شود.
    در صورتیکه بخواهیم حداقل موجودی برای کالا ایجاد کنیم بطوریکه با ثبت خروج کالا در شیت خروج اگر موجودی آن کالا در شیت موجودی کل کمتر از یک عددی شد هشدار متنی دهد تا بتوان ثبت سفارش نمود آیا این امر امکان پذیر می باشد.
    لازم به توضیح است که می خواهیم حتما آلارم بصورت یک هشدار متنی باشد .ایا امکانش هست نمونه ای از کد ماکرو و msgbox رو برام بقرستید
    و با توجه به اینکه سطح موجدی هر کد متفاوته آیا باید برای تک تک کدها ماکرو نوشته شود؟

  • حمیدرضا ۲۵ اردیبهشت ۱۳۹۸ / ۲:۰۴ ب٫ظ

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

  • moj ۲۹ بهمن ۱۳۹۷ / ۹:۴۳ ب٫ظ

    سلام ضمن تشکر از شما مهندسین عزیز

    من میخواهم دو تا کلید درست کنم بعد مثلا در سلول A1 هر عددی تایپ کردم

    وقتی یکی از این کلیدهارو که زدم ،عدد داخل سلول A1 یک عدد برود بالا

    و وقتی اون یکی کلید رو زدم عدد داخل سلول A1 یک عدد کم شود

    فرمان ماکرو در این حالت چگونه میشود

    • سامان چراغی ۲۹ بهمن ۱۳۹۷ / ۱۰:۲۰ ب٫ظ

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

      به همین ترتیب ماکرو دوم را برای کاهش مقدار سلول A1 ایجاد کنید و کد زیر را در آن قرار بدید:

  • مجی ۱۲ مهر ۱۳۹۷ / ۱۱:۰۶ ق٫ظ

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

    • سامان چراغی ۱۲ مهر ۱۳۹۷ / ۹:۵۰ ب٫ظ

      سلام
      کدهای ایجاد شده ماکرو که درون یک ماژول نوشته شده رو کپی کنید و درون یک حلقه For بذارید (توجه کنید فقط کدهای درون Sub ایجاد شده رو کپی کنید):

  • امیر رضا ۱۶ مرداد ۱۳۹۷ / ۱۲:۴۵ ب٫ظ

    سلام خسته نباشید
    من یک فرم در محیط vba طراحی کردم و یک کار مشخص رو بر روی شیت ها انجام میده چطور می تونم این فرم در اکسل های دیگر اجرا نمایم.
    این فرم را می خواهم در اختیار افراد عادی که دانش کافی ندارم بزارم و می خواهم با کمترین کار ممکن فرم اجرا بشه واسشون..
    آیا ممکنه؟
    راهنمایی کنید ممنون میشم
    به صورت خلاصه منظورم اینه که این فرم vba برای مثال به صورت exe در بیاد یا یه چیزی شبیه این و اگر در هنگامی که فایل اکسل با محتوای جدید باز بشود بر روی آن کار ها رو انجام بده
    خدا خیرتون بده منتظرم

    • آواتار
      حسنا خاکزاد ۱۶ مرداد ۱۳۹۷ / ۱:۱۷ ب٫ظ

      درود بر شما
      بعضی نرم افزار ها هستن که به Exe تبدیل میکنن
      بصورت add ins هم میتونید در بیارید

  • الهام ۷ خرداد ۱۳۹۷ / ۳:۱۶ ب٫ظ

    سلام
    من میخوام نام شیت هام فارسی باشه و ماکرو بزنم اما بهم ارور میده
    راه حل این موضوع چیه
    با سپاس فراوان

    • سامان چراغی ۷ خرداد ۱۳۹۷ / ۹:۱۵ ب٫ظ

      سلام
      شما میتونید از نام شئ شیت استفاده کنید.
      برای شیت یک نام برای شئ در نظر گرفته میشه (که از محیط وی بی تعیین میشه) و یک نام به عنوان نام نمایشی (که میتونید فارسی انتخاب کنید و از خود اکسل تعیین میشه). برای کد نویسی از نام شئ شیت باید استفاده کنید.
      به عنوان مثال قبل از تغییر نام شیت هم نام شئ و هم نام شیت، برابر Sheet1 هست، اما زمانیکه نام شیت رو عوض میکنید نام شئ همون Sheet1 میمونه و میتونید از همین نام برای کدها استفاده کنید. مثل زیر:

      • الهام ۸ خرداد ۱۳۹۷ / ۱۲:۲۵ ب٫ظ

        ببخشید ساختار کد من به صورت زیر:

        Sheets(“List”).Select
        ]چطور باید تغییر بدم وشیت جدول رو به فارسی بنویسم:جدول

        سعی کردم موفق نشدم

      • الهام ۸ خرداد ۱۳۹۷ / ۱۲:۴۰ ب٫ظ

        مرررررسی مرررسی متوجه شدم چیکار باید بکنم. درست شد.
        ببخشید که چندبار مزاحم شدم.
        ممنونم

  • مهسا ۷ خرداد ۱۳۹۷ / ۹:۱۵ ق٫ظ

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

    • آواتار
      حسنا خاکزاد ۷ خرداد ۱۳۹۷ / ۹:۲۷ ق٫ظ

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

      کد رو بررسی کنید. مثلا اگه ذخیره میکنید، باید مسیر رو در کامپیوتر جدید هم تعریف کنید

  • میری ۱۹ اردیبهشت ۱۳۹۷ / ۱۰:۵۰ ق٫ظ

    با سلام و تشکر از شما
    یه سطر دارم که میخام سلهای اون ۴تا ۴تا باهم مرج بشن . مثلا از A1:D1 با هم مرج بشن، از E1:H1 و الی آخر. اما تعدادشون زیاده و زمان بره. چکار میشه کرد؟
    مرسی

    • آواتار
      حسنا خاکزاد ۱۹ اردیبهشت ۱۳۹۷ / ۱۱:۱۲ ق٫ظ

      درود بر شما
      برای اینکار باید کد نویسی (VBA) انجام بدید
      حلقه ای باشه که ۴ تا ۴ تا انتخاب کنه و عملیات Merge رو انجام بده

  • مهدی جعفری ۱۵ اسفند ۱۳۹۶ / ۵:۴۴ ب٫ظ

    سلام
    تو یه شیت تعداد زیادی رکورد دارم که می خوام برای هر کدام از رکورد ها یک شیت بسازم باید چیکار کنم ؟

    • سامان چراغی ۱۵ اسفند ۱۳۹۶ / ۶:۳۳ ب٫ظ

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

  • عباسی ۱۲ اسفند ۱۳۹۶ / ۱۰:۵۱ ق٫ظ

    سلام من میخوام ماکرویی بنویسم که ستون a:a را فیلتر کند و تاریخی که در سلولی در شیت دیگری است رادر فیلتر نوشته و جستجو کند. خطا میده. میشه کدش رو برام بنویسید اینکه چجوری سلولی از یک شیت دیگر را در ActiveSheetمان وارد کنیم.

    ‘ Macro1 Macro


    Sheets(Range(“c3”).Value).Select
    ActiveSheet.Outline.ShowLevels RowLevels:=3
    ActiveSheet.Range(“$C$1:$C$759”).AutoFilter Field:=3, Criteria1:= _
    Worksheets(“æÑæÏ Èå ÓíÓÊã”).Range(“c3”).Value, Operator:=xlAnd
    End Sub

    • سامان چراغی ۱۲ اسفند ۱۳۹۶ / ۹:۲۷ ب٫ظ

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

      ممکنه خطاهایی به علت های مختلف (مثلا نبود آیتم جستجو شده در محدوده اطلاعات) رخ بده که باید با دستورات مدیریت خطا مثل On error resume next مدیریت بشه.

  • جواد محمدی ۱۱ بهمن ۱۳۹۶ / ۵:۴۱ ب٫ظ

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

    • آواتار
      حسنا خاکزاد ۱۱ بهمن ۱۳۹۶ / ۹:۴۳ ب٫ظ

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

  • مهدی ۳ دی ۱۳۹۶ / ۱۰:۱۸ ق٫ظ

    سلام و عرض خسته نباشید
    چطور میشه بین یکسری اعداد ۴ رقمی مثل ۱۲۳۴ به صورت یکجا اعشار اضافه کرد که بشه (۱۲.۳۴)
    محبت کنید فرمولش رو بیان کنید . سپاس

    • آواتار
      حسنا خاکزاد ۶ دی ۱۳۹۶ / ۱۰:۰۷ ق٫ظ

      سلام
      اگر همش چهار رقمی هست کافیه تقسیم بر ۱۰۰ کنید.
      برای اینکه راحت تر این کار و بکنید و فرمول نویسی نکنید میتونید از Paste special استفاده کنید.
      یعنی عدد ۱۰۰ رو در یک سلول نوشته، کپی کنید. بعد محدوده اعداد رو انتخاب کنید و از Paste special گزینه Devide رو انتخاب کنید…….

      فرمول هم که تقسیم ساده:

  • جعفر عابدانی ۲۴ آبان ۱۳۹۶ / ۸:۲۷ ب٫ظ

    سلام و عرض ادب
    یه مشکلی دارم و اون اینه که توی یه فایل اکسل ماکرو ایجاد کردم و برای اون کلید هم تعریف کردم منظورم اینه یه کلید گذاشتم تا پس از فشاردادن اون کلید ماکرو اجرا بشه
    حالا مشکل اینجاست وقتی شیت رو قفل میکنم پس از فشار دادن کلید دیگه ماکرو اجرا نمیشه
    ممنون میشم اگه من رو راهنمایی کنید

    • سامان چراغی ۲۴ آبان ۱۳۹۶ / ۸:۳۷ ب٫ظ

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

      • جعفر عابدانی ۳۰ آبان ۱۳۹۶ / ۷:۰۴ ب٫ظ

        عالی بود
        ممنون از لطف شما

  • حمید لیوانی ۶ آبان ۱۳۹۶ / ۲:۱۹ ب٫ظ

    سلام. من یک فایل اکسل از یک سایت خارجی دانلود کردم. چجوری میتونم ماکرو هاشو فارسی کنم که خروجیم زبونش فارسی باشه؟

    • سامان چراغی ۶ آبان ۱۳۹۶ / ۲:۴۸ ب٫ظ

      سلام
      وارد محیط VBE بشید (Alt + F11) و اگر کدها رمزگذاری نشده باشند میتونید متن های انگلیسی رو به فارسی تبدیل کنید.

      • حمید لیوانی ۶ آبان ۱۳۹۶ / ۴:۴۶ ب٫ظ

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

        • سامان چراغی ۶ آبان ۱۳۹۶ / ۵:۲۹ ب٫ظ

          فایل رو به آی دی تلگرام زیر ارسال کنید تا بررسی بشه:
          @ExcelpediaAdmin

  • زهرا ۲۷ مهر ۱۳۹۶ / ۴:۴۶ ب٫ظ

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

    • سامان چراغی ۲۹ مهر ۱۳۹۶ / ۷:۱۶ ق٫ظ

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

      • زهرا ۲ آبان ۱۳۹۶ / ۸:۴۱ ق٫ظ

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

        • سامان چراغی ۲ آبان ۱۳۹۶ / ۱۲:۰۰ ب٫ظ

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

  • هادی خدادادی ۶ شهریور ۱۳۹۶ / ۸:۱۲ ق٫ظ

    سلام دوست عزیز ممنون از توضیحاتتون
    سوال داشتم
    رکرد ماکرو نوی ویلوکاپ و پیوت هم جواب میده؟

    • سامان چراغی ۲۶ شهریور ۱۳۹۶ / ۲:۱۷ ب٫ظ

      سلام
      سوالتون خیلی مشخص نیست.
      اما زمان ضبط ماکرو اگر از تابع Vlookup استفاده کنید یا تغییراتی در Pivot Table بدید کد آنها ایجاد و ذخیره میشه.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.

توسط
تومان