نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی

ماکروها در اکسل - دستورالعمل استفاده. میرونوف

روز خوب!

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

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

اگر تا به حال نام ماکرو نشنیده اید، دقیق ترین تعریف آن به شرح زیر است: اینها اقداماتی هستند که در یک توالی خاص برنامه ریزی شده و در محیط برنامه نویسی به زبان Visual Basic for Applications (VBA) ضبط می شوند.... یک ماکرو را می توان چندین بار اجرا کرد و این امر اکسل را مجبور می کند تا هر دنباله ای از اقدامات مورد نیاز را انجام دهد، که ما به سادگی دوست نداریم یا نمی خواهیم به صورت دستی انجام دهیم. با وجود تنوع زیاد زبان های برنامه نویسی برای کل مجموعه مایکروسافت آفیس، VBA استاندارد است و در هر برنامه ای از مجموعه آفیس کار می کند.

بنابراین، ایجاد یک ماکرو در اکسل به دو روش امکان پذیر است:

یک ماکرو در اکسل ایجاد کنیدبا استفاده از ضبط ماکرو

ابتدا اجازه دهید توضیح دهیم که ضبط کننده ماکرو چیست و ماکرو چه ربطی به آن دارد.

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

این روش برای کسانی که مهارت و دانش کار در محیط زبان VBA را ندارند بسیار مفید است. اما این سهولت اجرا و ضبط یک ماکرو دارای معایبی و همچنین مزایایی است:

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

برای فعال کردن ضبط ماکرو برای ضبط، موارد زیر را انجام دهید:


مرحله بعدی کار با ضبط کننده ماکرو، تنظیم پارامترهای آن برای ضبط بیشتر ماکرو است، این کار را می توان در پنجره انجام داد. "ضبط ماکرو"، جایی که:

  • فیلد نام ماکرو- می توانید نامی را بنویسید که به هر زبانی بفهمید، اما باید با یک حرف شروع شود و حاوی علائم نگارشی و فاصله نباشد.
  • جعبه میانبر صفحه کلید- در آینده برای شروع سریع ماکرو توسط شما استفاده خواهد شد. در صورت نیاز به ثبت نام جدید، این گزینه در منو موجود خواهد بود "Service" - "Macro" - "Macros" - "Run"یا روی برگه "توسعه دهنده"فشار دادن دکمه "ماکروها";
  • فیلد "ذخیره در ..."- می توانید مکانی را مشخص کنید که متن ماکرو در آن ذخیره شود (اما ارسال نشود) و اینها 3 گزینه هستند:
    • "این کتاب"- ماکرو در ماژول کتاب کار فعلی نوشته می شود و فقط در صورتی می توان آن را اجرا کرد که این کتاب کار اکسل باز باشد.
    • "یک کتاب جدید"- ماکرو در قالبی ذخیره می شود که بر اساس آن یک کتاب کار خالی جدید در اکسل ایجاد می شود، به این معنی که ماکرو در تمام کتاب های کاری که از آن لحظه در این رایانه ایجاد می شود در دسترس خواهد بود.
    • "کتاب ماکرو شخصی"- یک کتاب ماکرو ویژه اکسل است به نام "Personal.xls"و به عنوان یک ذخیره سازی-کتابخانه ویژه ماکروها استفاده می شود. هنگام راه اندازی، ماکروهای کتاب "Personal.xls" در حافظه بارگذاری می شوند و می توانند در هر کتابی در هر زمان اجرا شوند.
  • فیلد توضیحات- در اینجا می توانید توضیح دهید که ماکرو چه کاری و چگونه باید انجام دهد ، چرا ایجاد شده است و چه عملکردهایی دارد ، این یک زمینه کاملاً آموزنده است که برای حافظه نامیده می شود.

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

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

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

ویرایشگر برنامه VBA بسته به نسخه برنامه اکسل شما متفاوت راه اندازی می شود:

  • در نسخه های اکسل 2003 به بعد، ما در منو نیاز داریم "سرویس"، مورد را انتخاب کنید "ماکرو"و فشار دهید "ویرایشگر ویژوال بیسیک";
  • در نسخه های اکسل 2007 و جدیدتر، ما در برگه نیاز داریم "توسعه دهنده"دکمه را فشار دهید "ویرایشگر ویژوال بیسیک"... در صورتی که این برگه را پیدا نکردید، باید با انتخاب آیتم منو آن را فعال کنید "فایل" - "گزینه ها" - "سفارشی کردن روبان"و در کادر محاوره ای، تب را فعال کنید "توسعه دهنده".

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

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

همه ماکروهای ما در اصطلاح ذخیره می شوند ماژول های نرم افزاری... در هر یک از کتاب‌های هر نسخه اکسل، می‌توانیم هر ماژول برنامه را با هر مقداری ایجاد کنیم و تمام ماکروهایی را که ایجاد کرده‌ایم در آنها قرار دهیم. یک ماژول می تواند حاوی هر تعداد ماکرو مورد نیاز یا ایجاد شده باشد. ماژول ها در پنجره موجود هستند "Project Explorer"و در گوشه سمت چپ بالای ویرایشگر ماکرو قرار دارند (همچنین می توانید با میانبر صفحه کلید آن را فراخوانی کنید. CTRL + R).

ماژول های برنامه در ویرایشگر VBA به اشکال مختلفی وجود دارند و برای گزینه ها و موقعیت های مختلف استفاده می شوند:


در واقع، خود ماکرو هنگام کار در یک ماژول استاندارد به شکل زیر است:

بیایید مثالی از یک ماکرو فعال را در نظر بگیریم:

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

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

ایجاد یک دکمه برای اجرای ماکروها در نوار ابزار

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


این روش برای هر نسخه ای از MS Excel موجود است و شامل این واقعیت است که ما دکمه را مستقیماً به عنوان یک شی گرافیکی به کاربرگ خود می آوریم. برای انجام این کار، شما نیاز دارید:

  • در MS Excel 2003 و بالاتربه منو بروید "چشم انداز"، انتخاب کنید "نوار ابزار"و دکمه را فشار دهید "تشکیل می دهد".
  • در MS Excel 2007 و جدیدتردر برگه نیاز دارید "توسعه دهنده"منوی کشویی را باز کنید "درج"و یک شی را انتخاب کنید "دکمه".

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

نحوه ایجاد توابع سفارشی در VBA

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

به عنوان مثال، برای ایجاد یک تابع سفارشی برای مالیات بر ارزش افزوده، با نام VAT، باید ویرایشگر VBA خود را باز کنیم و یک ماژول جدید اضافه کنیم، از منو انتخاب کنید. "درج"پاراگراف "مدول"و متن تابع ما را در آنجا وارد کنید: لازم به ذکر است که تفاوت اصلی یک تابع و یک ماکرو در هدر است عملکردجایگزین شده است زیرو یک لیست پر از آرگومان ها، در مثال ما وجود دارد مجموع... پس از وارد کردن کد ما، در پنجره استاندارد Function Wizard که در منو قرار دارد در دسترس خواهد بود. "فرمول ها"، پاراگراف "درج تابع".
و یک دسته را انتخاب کنید "تعریف شده توسط کاربر"که در آن تابع نوشته شده ما نمایش داده خواهد شد "NDS".
پس از انتخاب تابع ما، می توانید مکان نما را روی یک سلول با آرگومان قرار دهید، که حاوی مقداری است که ما مالیات بر ارزش افزوده را محاسبه می کنیم، همه چیز مانند یک تابع معمولی اتفاق می افتد.
و این همه برای من است! من واقعا امیدوارممقاله ای در مورد نحوه ایجاد ماکرو در اکسل برای شما قابل درک و مفید بود از نظراتی که گذاشتید بسیار سپاسگزار خواهم بود، زیرا این نشانگر خوانایی است و الهام بخش نوشتن مقالات جدید است! آنچه می خوانید را با دوستان خود به اشتراک بگذارید و آن را لایک کنید!

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

VBA چیست

برنامه نویسی در اکسل با استفاده از زبان برنامه نویسی Visual Basic for Application انجام می شود که در اصل در معروف ترین پردازنده صفحه گسترده مایکروسافت ساخته شده است.

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

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

اشیاء، مجموعه ها، خواص و روش ها

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

اصلی ترین برنامه Application است که مربوط به خود برنامه Excel است. پس از آن Workbook ها، Worksheets و Range قرار می گیرند. به عنوان مثال، برای مراجعه به سلول A1 در یک برگه خاص، باید مسیری را بر اساس سلسله مراتب مشخص کنید.

در مورد مفهوم "مجموعه"، گروهی از اشیاء از همان کلاس است که در رکورد دارای شکل ChartObjects است. عناصر منفرد آن نیز اشیا هستند.

مفهوم بعدی خواص است. آنها ویژگی ضروری هر شی هستند. به عنوان مثال، برای Range، مقدار یا Formula است.

متدها دستوراتی هستند که نشان می دهند چه کاری باید انجام شود. هنگام نوشتن کد در VBA، آنها باید با یک نقطه از شی جدا شوند. به عنوان مثال، همانطور که بعدا نشان داده خواهد شد، دستور Cells (1،1) .Select اغلب هنگام برنامه نویسی در اکسل استفاده می شود. این بدان معنی است که شما باید یک سلول با مختصات را انتخاب کنید

Selection.ClearContents اغلب با آن استفاده می شود. اجرای آن به معنای پاک کردن محتویات سلول انتخاب شده است.

چگونه شروع کنیم

سپس باید به برنامه VB بروید که برای آن کافی است از ترکیب کلیدهای "Alt" و "F11" استفاده کنید. به علاوه:

  • در نوار منو واقع در بالای پنجره، روی نماد کنار نماد اکسل کلیک کنید.
  • تیم Mudule را انتخاب کنید.
  • با کلیک بر روی نماد همراه با تصویر ذخیره کنید.
  • مثلاً طرحی از کد بنویسید.

به نظر می رسد این است:

برنامه فرعی ()

"کد ما

لطفاً توجه داشته باشید که خط "" کد ما" با رنگ دیگری (سبز) برجسته خواهد شد.

اکنون می توانید هر کدی را بنویسید و ابزار جدیدی برای خود در VBA Excel ایجاد کنید (نمونه هایی از برنامه ها را در زیر ببینید). البته کسانی که با اصول اولیه ویژوال بیسیک آشنا هستند، کار را بسیار راحت تر خواهند کرد. با این حال، حتی کسانی که آنها را ندارند، در صورت تمایل، می توانند به سرعت به آن عادت کنند.

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

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

مثال 1

وظیفه: برنامه ای بنویسید که مقدار محتویات یک سلول را کپی کرده و سپس در سلول دیگر بنویسد.

برای این:

  • برگه "View" را باز کنید؛
  • به نماد ماکرو بروید؛
  • روی "Record Macro" کلیک کنید؛
  • فرم باز شده را پر کنید

برای سادگی، "Macro1" را در قسمت "Macro name" رها کنید، و برای مثال، hh را در قسمت "میانبر صفحه کلید" وارد کنید (به این معنی که می توانید برنامه را با دستور blitz "Ctrl + h" شروع کنید). Enter را فشار دهید.

اکنون، زمانی که ضبط ماکرو از قبل شروع شده است، محتویات یک سلول در سلول دیگر کپی می شود. به نماد اصلی برمی گردد. روی "Record Macro" کلیک کنید. این عمل به معنای پایان برنامه است.

  • دوباره به خط "Macros" بروید.
  • "Macro 1" را در لیست انتخاب کنید.
  • روی "Run" کلیک کنید (همان عمل با شروع میانبر صفحه کلید "Ctrl + hh" شروع می شود).

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

منطقی است که ببینید کد چگونه به نظر می رسد. برای انجام این کار، به خط "Macros" برگردید و روی "Change" یا "Enter" کلیک کنید. در نتیجه، آنها خود را در یک محیط VBA می بینند. در واقع، کد خود ماکرو بین خطوط Sub Macro1 () و End Sub قرار دارد.

اگر کپی کردن، به عنوان مثال، از سلول A1 به سلول C1 انجام شده باشد، یکی از خطوط کد شبیه محدوده ("C1") خواهد بود. انتخاب کنید. ترجمه شده، به نظر می رسد "Range (" C1 "). انتخاب کنید، به عبارت دیگر، به VBA Excel، به سلول C1 تغییر می کند.

دستور ActiveSheet.Paste قسمت فعال کد را پایان می دهد. یعنی نوشتن محتویات سلول انتخاب شده (در این مورد A1) در سلول انتخاب شده C1.

مثال 2

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

حلقه های VBA به شما در ایجاد انواع ماکرو کمک می کند. فرض کنید یک تابع y = x + x 2 + 3x 3 - cos (x) داریم. برای بدست آوردن نمودار آن باید یک ماکرو ایجاد کنید. این کار فقط با استفاده از حلقه های VBA قابل انجام است.

برای مقدار اولیه و نهایی آرگومان تابع، x1 = 0 و x2 = 10 را در نظر بگیرید. علاوه بر این، باید یک ثابت وارد کنید - مقدار مرحله تغییر آرگومان و مقدار اولیه برای شمارنده.

تمام نمونه ماکروهای VBA Excel با استفاده از همان روشی که در بالا ارائه شد ایجاد می شوند. در این مورد خاص، کد به نظر می رسد:

برنامه فرعی ()

shag = 0.1

انجام while x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)

سلول های (i، 1). مقدار = x1 (مقدار x1 با مختصات (i، 1) روی سلول نوشته می شود)

سلول های (i، 2) .Value = y (مقدار y با مختصات (i، 2) روی سلول نوشته می شود)

i = i + 1 (شمارنده فعال است)؛

x1 = x1 + shag (آگومان با اندازه گام تغییر می کند).

پایان فرعی

در نتیجه اجرای این ماکرو در اکسل، دو ستون دریافت می کنیم که ستون اول حاوی مقادیر x و ستون دوم برای y است.

سپس یک نمودار با استفاده از آنها به روشی استاندارد برای اکسل رسم می شود.

مثال 3

برای پیاده‌سازی حلقه‌ها در VBA Excel 2010، مانند سایر نسخه‌ها، همراه با ساخت Do while از قبل، از For استفاده می‌شود.

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

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

برای i = 1 تا 10 بعد

این دستور به زبان "انسان" به صورت "تکرار از 1 تا 10 با افزایش یک" ترجمه می شود.

اگر کار این است که یک ستون با مربع، به عنوان مثال، همه اعداد فرد از محدوده 1 تا 11 را بدست آوریم، می نویسیم:

برای i = 1 تا 10 مرحله 1 بعد.

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

نتایج به دست آمده باید در سلول هایی با عدد (i، 1) ذخیره شود. سپس، در هر شروع چرخه، با افزایش i در اندازه گام، تعداد ردیف نیز به طور خودکار افزایش می یابد. بنابراین، کد بهینه خواهد شد.

به طور کلی، کد به صورت زیر خواهد بود:

برنامه فرعی ()

برای i = 1 به 10 مرحله 1 (شما می توانید به سادگی برای i = 1 تا 10 بنویسید)

سلول های (i، 1) .Value = i ^ 2 (یعنی مقدار مربع i در سلول (i، 1) نوشته می شود)

بعد (به تعبیری نقش شمارنده را بازی می کند و به معنای شروع دیگری از حلقه است)

پایان فرعی

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

مثال 4

در زندگی روزمره، اغلب بسته به شرایط، نیاز به تصمیم گیری این یا آن وجود دارد. شما نمی توانید بدون آنها در VBA Excel انجام دهید. نمونه‌هایی از برنامه‌ها، که در آن مسیر بعدی اجرای الگوریتم انتخاب می‌شود، و در ابتدا از پیش تعیین نشده است، اغلب از ساختار If… then (برای موارد پیچیده) If… then… END If استفاده می‌کنند.

بیایید یک مورد خاص را در نظر بگیریم. فرض کنید باید یک ماکرو برای اکسل ایجاد کنید تا سلول با مختصات (1،1) نوشته شود:

1 اگر استدلال مثبت باشد.

0 اگر آرگومان صفر باشد.

-1 اگر استدلال منفی باشد.

ایجاد چنین ماکرویی برای اکسل به روش استاندارد و با استفاده از کلیدهای داغ Alt و F11 آغاز می شود. در ادامه کد زیر نوشته می شود:

برنامه فرعی ()

x = سلول ها (1، 1) .Value (این دستور x مقدار محتوای سلول را در مختصات (1، 1) اختصاص می دهد)

اگر x> 0 باشد، سلول های (1، 1) .Value = 1

اگر x = 0 سپس سلول های (1، 1) .Value = 0

اگر x<0 Then Cells(1, 1).Value = -1

پایان فرعی

باقی مانده است که ماکرو را اجرا کنید و مقدار مورد نظر را برای آرگومان در اکسل بدست آورید.

توابع VBA

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

  • توابع ریاضی با اعمال آنها در آرگومان، مقدار کسینوس، لگاریتم طبیعی، قسمت صحیح و غیره را دریافت می کنید.
  • توابع مالی به لطف حضور آنها و استفاده از برنامه نویسی در اکسل می توانید ابزارهای موثری برای حسابداری و محاسبات مالی بدست آورید.
  • توابع پردازش آرایه اینها عبارتند از Array، IsArray. LBound; UBound.
  • توابع VBA اکسل برای رشته. این یک گروه نسبتاً بزرگ است. برای مثال شامل توابع Space برای ایجاد رشته ای با تعدادی فاصله برابر با یک آرگومان عدد صحیح یا Asc برای ترجمه کاراکترها به کد ANSI است. همه آنها به طور گسترده مورد استفاده قرار می گیرند و به شما امکان می دهند با ردیف ها در اکسل کار کنید و برنامه هایی ایجاد کنید که کار با این جداول را تا حد زیادی تسهیل می کند.
  • توابع تبدیل نوع داده برای مثال، CVar مقدار آرگومان Expression را با تبدیل آن به نوع داده Variant برمی‌گرداند.
  • توابع کار با تاریخ آنها به طور قابل توجهی موارد استاندارد را گسترش می دهند.به عنوان مثال، تابع WeekdayName نام (کامل یا جزئی) روز هفته را با تعداد آن برمی گرداند. تایمر حتی مفیدتر است. به شما تعداد ثانیه هایی را می دهد که از نیمه شب تا نقطه خاصی در روز سپری شده است.
  • توابعی برای تبدیل یک آرگومان عددی به سیستم های اعداد مختلف. به عنوان مثال، Oct یک عدد را به صورت هشتی خروجی می دهد.
  • توابع قالب بندی مهمترین آنها Format است. یک Variant را با یک عبارت فرمت شده بر اساس دستورالعمل های داده شده در توضیحات قالب برمی گرداند.
  • و غیره.

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

مثال 5

بیایید سعی کنیم به سمت حل مشکلات پیچیده تر حرکت کنیم. برای مثال:

با توجه به یک سند کاغذی از گزارش سطح واقعی هزینه های شرکت. ضروری:

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

بیایید یکی از راه حل ها را در نظر بگیریم.

ایجاد الگو

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

متغیرها

برای نوشتن برنامه ای برای پر کردن خودکار یک الگو، باید نام گذاری ها را انتخاب کنید. آنها برای متغیرها استفاده خواهند شد:

  • NN - شماره ردیف جدول فعلی؛
  • TP و TF - گردش مالی برنامه ریزی شده و واقعی؛
  • SF و SP - هزینه های واقعی و برنامه ریزی شده؛
  • IP و IF - سطح برنامه ریزی شده و واقعی هزینه ها.

بیایید با همان حروف، اما با "پیشوند" Itog، جمع کل برای این ستون را نشان دهیم. به عنوان مثال، ItogTP - به ستون جدولی با عنوان "گردش پیش بینی شده" اشاره دارد.

حل مسئله با استفاده از برنامه نویسی VBA

با استفاده از عناوین معرفی شده، فرمول هایی برای انحرافات به دست می آوریم. اگر می خواهید بر حسب درصد محاسبه کنید، (F - P) / P * 100، و در کل - (F - P) داریم.

نتایج این محاسبات را می توان به بهترین وجه مستقیماً در سلول های مناسب در صفحه گسترده اکسل وارد کرد.

برای مجموع واقعی و پیش بینی شده، آنها با استفاده از فرمول ItogP = ItogP + P و ItogF = ItogF + F به دست می آیند.

برای انحرافات، اگر محاسبه به صورت درصد انجام شود، از = (ItogF - ItogP) / ItogP * 100 استفاده کنید، و در مورد مقدار کل - (ItogF - ItogP).

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

قبل از شروع برنامه ایجاد شده، باید کتاب کار را ذخیره کنید، به عنوان مثال، تحت نام "Report1.xls".

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

اکنون می دانید که چگونه وظایف اکسل را با استفاده از ماکروها حل کنید. توانایی استفاده از vba excel (نمونه هایی از برنامه های بالا را ببینید) همچنین ممکن است برای کار در محیط محبوب ترین ویرایشگر متن "Word" در حال حاضر مورد نیاز باشد. به طور خاص، می‌توانید دکمه‌های منو را با نوشتن، همانطور که در ابتدای مقاله نشان داده شده است، یا با نوشتن کد ایجاد کنید، که به لطف آن می‌توان با فشار دادن دکمه‌های در حال کار یا از طریق تب View و ماکروها، بسیاری از عملیات روی متن را انجام داد. آیکون.

این راهنما حاوی ماکروهایی در مورد موضوعات زیر است:
اجرای ماکرو با جستجوی سلول.
هنگام باز کردن یک کتاب کار، یک ماکرو اجرا کنید.
ماکرو را هنگام تایپ در سلول "2" اجرا کنید.
اجرای یک ماکرو با فشار دادن "Enter".
برگه «افزونه‌ها» (فرمت سلولی) را به پانل اضافه کنید.
کار با فایل ها (به عنوان مثال تبادل داده با TXT، RTF، XLS، و غیره).
بررسی وجود یک فایل در مسیر مشخص شده.
فایل مورد نظر را جستجو کنید.
اتوماسیون حذف فایل
متن رایگان در نوار وضعیت.
بازیابی نوار وضعیت
پیمایش خط در نوار وضعیت.

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

محتوا را در یک فایل متنی کپی کنید.
داده ها را به txt صادر کنید.
صادرات داده به html
وارد کردن داده هایی که به بیش از 256 ستون نیاز دارد.
یک نسخه پشتیبان از فایل های ارزشمند ایجاد کنید.
شمارش تعداد باز شدن فایل ها
خروجی مسیر فایل به سلول فعال.
کپی محتوای فایل RTF در اکسل.
کپی کردن داده ها از یک کتاب کار بسته
استخراج داده ها از یک فایل بسته
جستجوی کلمه در فایل ها
یک فایل متنی ایجاد کنید و متن را در فایل وارد کنید.
یک فایل متنی ایجاد کنید و متن را وارد کنید (تشخیص انتهای فایل).
اسناد Word را از صفحه گسترده اکسل ایجاد کنید.
دستورات برای ایجاد و حذف دایرکتوری ها.
دریافت دایرکتوری فعلی
تغییر دایرکتوری

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

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

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

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

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

فهرست یادداشت ها در یک لیست جداگانه.
فهرست یادداشت ها در یک لیست جداگانه.

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

انتقال مقادیر از یک سلول به یک نظر.
زبانه های سفارشی روی روبان.
افزودن نوار ابزار
افزودن یک دکمه به نوار ابزار
پنل با یک دکمه
پنل با دو دکمه
یک پنل در سمت راست ایجاد کنید.

ایجاد یک منوی سفارشی (گزینه 1).
ایجاد یک منوی سفارشی (گزینه 2).
ایجاد یک منوی سفارشی (گزینه 3).
ایجاد یک منوی سفارشی (گزینه 4).
ایجاد یک منوی سفارشی (گزینه 5).
ایجاد یک منوی سفارشی (گزینه 6).
ایجاد لیستی از موارد در منوی اصلی Excel.
ایجاد لیستی از آیتم های منوی زمینه
نوار ابزار را تحت یک شرایط خاص نمایش می دهد.
پنهان کردن و نمایش نوار ابزار
یک راهنمای ابزار برای دکمه های من ایجاد کنید.
یک منو بر اساس داده های یک کاربرگ ایجاد می کند.
ایجاد یک منوی زمینه
قفل کردن منوی زمینه
افزودن یک دستور به منوی Tools.
افزودن دستور به منوی View
ایجاد پنل با لیست
کارتون با دستیار در نقش اصلی.
تکمیل کمک کننده با متن، عنوان، دکمه و نماد.
گزینه های دستیار جدید
استفاده از دستیار برای انتخاب رنگ پر.
پنجره های دیالوگ.
تابع INPUTBOX (از طریق مقدار ورودی).
پیش نمایش تماس
پیکربندی ورود داده ها در یک کادر محاوره ای

کادر محاوره ای (Open File) را باز می کند.
کادر محاوره ای (Print) را باز می کند.
کادرهای محاوره ای دیگر
فراخوانی مرورگر از اکسل.
کادر محاوره ای ورود اطلاعات
کادر محاوره ای تنظیمات فونت
مقادیر پیش فرض.
قالب بندی متن جداول. مرزها و پر کردن.
لیستی از فونت های موجود را نمایش می دهد.
انتخاب همه اعداد از متن
حروف بزرگ فقط در ابتدای متن.
شمارش تعداد تکرارهای متن جستجو شده.
یک عنصر دلخواه را از متن انتخاب کنید.
نمایش متن از پشت به جلو.
متن انگلیسی - با حروف بزرگ.
راه اندازی جدول نمادها از اکسل.
اطلاعات در مورد کاربر، کامپیوتر، چاپگر و غیره
دریافت نام کاربری
وضوح نمایشگر مانیتور
در مورد چاپگری که استفاده می کنید اطلاعات کسب کنید.
اطلاعات مربوط به دیسک های موجود در رایانه خود را مشاهده کنید.
USERFORMS.
نمودارها
ساختن نمودار با استفاده از ماکرو
ذخیره نمودار در یک فایل جداگانه.
ساخت و حذف نمودار با فشار دادن یک دکمه.
لیستی از نمودارها را در یک پنجره جداگانه نمایش می دهد.
اعمال یک پالت رنگ تصادفی
تأثیر شفافیت نمودار.
یک نمودار بر اساس داده های چند کاربرگ بسازید.
ایجاد برچسب برای داده های نمودار
برنامه های مختلف
برنامه ای برای نوشتن جدول کلمات متقاطع.
کاور DVD ایجاد کنید
بازی میدان مین.
بازی "حیوان را حدس بزنید".
محاسبه بر اساس سلول های یک رنگ خاص.
سایر توابع و ماکروها.
فراخوانی کلیدهای عملکردی
محاسبه میانگین حسابی.
تبدیل اعداد به پول
نزدیکترین دوشنبه را جستجو کنید.
شمارش تعداد سالهای کامل
محاسبه میانگین وزنی
شماره ماه را به نام آن تبدیل کنید.
استفاده از پیوندهای نسبی
تبدیل جدول اکسل به فرمت HTML.
مولد اعداد تصادفی
اعداد تصادفی بر اساس یک محدوده هستند.
اعمال یک تابع بدون وارد کردن آن به سلول.
شمارش اشیاء نامگذاری شده
فیلتر خودکار را با استفاده از ماکرو روشن کنید.
ایجاد خط خزنده.
ایجاد یک تصویر در حال اجرا
خودکارهای چرخان
فراخوانی جدول رنگ
ایجاد یک ماشین حساب.
انحراف نام خانوادگی، نام و نام خانوادگی.
تاریخ و زمان.
نمایش تاریخ و زمان.
نمایش تاریخ و زمان.
گرفتن تاریخ سیستم
تاریخ و ساعت را استخراج کنید.
تابع DateFull. نسخه MS Office استفاده شده مشخص نشده است.

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

زیر A1SelectionEachSheet () Dim i As Integer Application.ScreenUpdating = False برای i = 1 To Sheets.Count Sheets (i) .Select ActiveWindow.ScrollColumn = 1 ActiveWindow.ScrollRow = 1 Range ("a1"). برگه های بعدی را انتخاب کنید ("a1"). Application.ScreenUpdating = True End Sub را انتخاب کنید

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

Sub SimpleCopy () Dim i به عنوان عدد صحیح، j به عنوان عدد صحیح i = Application.InputBox Application.ScreenUpdating = False برای j = 1 به i ActiveSheet. کپی بعد از: = Sheets (Sheets.Count) ActiveSheet .Name = "Copy" & j Next j Application.ScreenUpdating = True End Sub

برگه هایی با عناوین از یک محدوده مشخص در یک برگه ایجاد کنید

زیر CreateFromList () سلول کم نور به عنوان محدوده برای هر سلول در برگه های انتخابی. بعد از آن اضافه کنید: = برگه ها (Sheets.Count) ActiveSheet.Name = cell.Value سلول بعدی پایان فرعی

نشانگر ارسال نامه با تاخیر ماکرو اصلاح شده از کتاب John Walkenbach Professional VBA Programming

ایمیل فرعی () کم نور کردن OutApp به عنوان شیء تیره کردن OutMail به عنوان Object Set OutApp = CreateObject ("Outlook.Application") OutApp.Session.Logon در خطا رفتن به پاکسازی Set OutMail = OutApp.CreateItem (0) در مورد خطا ادامه با OutMail .To = " [ایمیل محافظت شده]".Subject =" گزارش فروش ".Attachments.Add" C: \ Test.txt ".Body =" Email body ".DeferredDeliveryTime = Replace (Date,". "," / ") &" 11:00:00 " .send" .نمایش برای ایجاد پیام و باز کردن آن پایان با خطای روشن برو به 0 تنظیم OutMail = پاکسازی چیزی: تنظیم OutApp = هیچ چیز پایان فرعی

فهرست مطالب ماکرو اندکی تغییر یافته از نیکولای پاولوف.
اگر برگه «فهرست فهرست مطالب» از قبل در کتاب وجود داشته باشد، ماکرو حذف آن را پیشنهاد می‌کند. در غیر این صورت، یک برگه "فهرست فهرست مطالب" ایجاد می کند و پیوندهایی با نام برگه ها درج می کند.

زیر TableOfContent () صفحه کم نور به عنوان کاربرگ سلول کم نور به عنوان محدوده کم نور پاسخ به عنوان عدد صحیح Application.ScreenUpdating = False با ActiveWorkbook برای هر کاربرگ در ActiveWorkbook.Worksheets If Worksheet.Name = "Table of Contents" سپس workbook دارای یک Mox است. برگه ای با نام فهرست مطالب. حذف شود؟ "، VbYesNo) اگر پاسخ = vbNo سپس از Sub خارج شوید اگر پاسخ = vbYes سپس Application.DisplayAlerts = کاربرگ نادرست. حذف برنامه.DisplayAlerts = پایان واقعی اگر پایان اگر پایان بعدی با برگه ها (آرایه (1) Sheets.Add Sheets (1) .Name = "Table of Contents" With ActiveWorkbook برای هر برگه در ActiveWorkbook.Worksheets If sheet.Name را انتخاب کنید.<>"فهرست محتوا" سپس سلول را تنظیم کنید = کاربرگ (1) .سلول ها (ورق. فهرست، 1) .کاربرگ ها (1) .هایپرلینک ها. افزودن لنگر: = سلول، آدرس: = ""، آدرس فرعی: = "" "و برگه .Name & "" "&"! A1 "cell.Formula = sheet.Name end if sheet next end with rows (" 1: 1 "). حذف Application.ScreenUpdating = True End Sub Sub

مرتب سازی برگه ها از جادوگران VBA. ماکرو همچنین برگه های مخفی را مرتب می کند. اگر کتاب دارای ساختار محافظت شده باشد، کار نخواهد کرد

زیر SORT_ALL_LISTS () Application.ScreenUpdating = False: Application.EnableEvents = False Dim iSht As Worksheet, oDict As Object, i%, j% Set oDict = CreateObject ("Scripting.Dictionary") "وضعیت مشاهده و مشاهده هر برگه را به خاطر بسپارید همه چیز قابل مشاهده برای هر iSht در ActiveWorkbook.Sheets oDict.Item (iSht.Name) = iSht.Visible: iSht.Visible = True Next With ActiveWorkbook "مرتب کردن برگه های قابل مشاهده برای i = 1 به .Sheets.Count - 1 برای j = i + 1 به .Sheets.Count If UCase (.Sheets (i) .Name)> UCase (. Sheets (j) .Name) سپس .Sheets (j) .Move Before: =. Sheets (i) بعدی j بعدی i پایان با "بازیابی وضعیت دید اولیه هر یک از برگه ها برای هر iSht در ActiveWorkbook.Sheets iSht.Visible = oDict.Item (iSht.Name) بعدی Application.EnableEvents = True: Application.ScreenUpdating = True End Sub Sub

وارد کردن ستون‌های "Field1" و "Field2" از برگه "Sheet1" فایل Excel "C: \ Manager.xls" از طریق اتصال ADODB و چسباندن محتوا از سلول A1 صفحه فعلی شروع می‌شود.

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

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

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

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

ضبط ماکرو

در برگه توسعه دهندهکلیک ماکروهابرای مشاهده ماکروهای مرتبط با کتاب کار. یا می توانید کلیدها را فشار دهید ALT + F8... با این کار یک کادر محاوره ای باز می شود ماکرو.


توجه:

با پارامترهای امنیتی ماکروها و معنای آنها آشنا شوید.

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

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

    یک ماکرو اختصاص دهید.

    در زمینه یک ماکرو اختصاص دهید

با نحوه روشن و خاموش کردن ماکروها در فایل‌های Office آشنا شوید.

کلیدها را فشار دهید ALT + F11.

کار با کدهای ضبط شده در ویرایشگر ویژوال بیسیک (VBE)

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

برای مثالی از تغییر کد ضبط شده، به شروع با VBA در اکسل مراجعه کنید.

ضبط ماکرو

دانستن موارد زیر قبل از ضبط ماکرو مفید است:

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

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

    ماکرو همچنین می تواند شامل وظایفی باشد که به اکسل مرتبط نیستند. فرآیند ماکرو می‌تواند سایر برنامه‌های آفیس و سایر برنامه‌هایی را که از Visual Basic for Applications (VBA) پشتیبانی می‌کنند، دربر گیرد. به عنوان مثال، می توانید یک ماکرو ضبط کنید که ابتدا یک جدول را در اکسل به روز می کند و سپس Outlook را برای ارسال آن از طریق ایمیل باز می کند.

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

    لطفا انتخاب کنید برتری داشتن > مولفه های> روبان و پنل.

برای ضبط یک ماکرو، دستورالعمل های زیر را دنبال کنید.

کار با ماکروهای ضبط شده در اکسل

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

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

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

با نحوه روشن و خاموش کردن ماکروها در Excel برای Mac آشنا شوید.

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

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

اختصاص یک ماکرو به یک شی، شکل یا گرافیک

    در برگه، روی شی، تصویر، شکل یا عنصری که می‌خواهید یک ماکرو موجود به آن اختصاص دهید، کلیک راست کرده و سپس کلیک کنید. یک ماکرو اختصاص دهید.

    در زمینه یک ماکرو اختصاص دهیدماکرویی را که می خواهید اختصاص دهید انتخاب کنید.

می توانید یک ماکرو را به یک نماد اختصاص دهید و آن را به نوار ابزار دسترسی سریع یا نوار اضافه کنید.

می‌توانید ماکروها را به فرم‌ها و کنترل‌های ActiveX روی یک برگه اختصاص دهید.

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

در برگه توسعه دهندهکلیک ویژوال بیسیکیا انتخاب کنید سرویس > ماکرو > ویرایشگر ویژوال بیسیک.

با نحوه یافتن راهنما برای آیتم های ویژوال بیسیک آشنا شوید.

اطلاعات اضافی

همیشه می‌توانید از انجمن فناوری اکسل سؤالی بپرسید، از انجمن پاسخ‌ها کمک بخواهید یا ویژگی یا بهبود جدیدی را در وب‌سایت پیشنهاد دهید.

مقالات مرتبط برتر