همانطور که می دانید عمل Undo در نرم افزار اکسل، بازگرداننده عملیات محسوب می شود بطوریکه عمل انجام شده را به قبل از اعمال تغییرات بر می گرداند.کلیدمیانبر آن در نرم افزار اکسل Ctrl + Z و کدماکروی آن بصورت زیر است:
عمل های Undo و Redo هردو سقف و عمری دارند، عملیات Undo و Redo تا سقف ۱۰۰ تغییر اخیر را پشتیبانی می کنند، به عبارتی تا زمانیکه Workbook شما باز و فعال باشد عملیات و تغییرات صورت گرفته قابل برگشت هستند البته دقت نمایید که تغییر روی sheet یا ۱۰۰۰ بار کلیک کردن روی Cell های مختلف یا انتخاب شیت های مختلف Undo و Redo ندارند. پس عمر Undo و Redo محدود به تعداد action یا مادامی هست که workbook باز هست، چرا؟
وقتی یک workbook باز شود توی RAM برای آن حافظه Reserve می شود و موقع بسته شدن فایل، حافظه درنظر گرفته شده نیز از بین خواهد رفت. همین موضوع را در محیط VBE درنظر بگیرید، تمامی کارهایی که شما انجام بدین که تاثیری برروی Worksheet یا Workbook نداشته باشد، حافظه Undo و Redo دست نخورده باقی خواهد ماند به عنوان مثال subroutine که فقط با Msgbox پیغامی نمایش دهد حال اگر برروی Workook و یا Worksheet تغییری صورت گیردکه با عملیات Undo و Redo درحالت معمول قابل برگرداندن باشند همانند نوشتن مقداری در یک سلول و یا .. اکسل به صورت پیشفرض حافظه درنظر گرفته شده را خالی می کند !
یکی از ساده ترین دلایل آن عمر متغیر هست، وقتی اجرای کدهای ماکروی شما به اتمام رسد تمام متغییر ها و اشاره گرها (به غیر از Global و Static) عملا از بین رفتن که عملیات Undo یا Redo برروی آن صورت گیرد. به عبارتی شما قصد برگرداندن تغییراتی را دارید که متغیرهای انجام دهنده ی آن وجود خارجی ندارند.
عملیات Undo و Redo حداکثر تعدادی را پشتیبانی می کنند و اگر ماکروی شما فرضا یک میلیون بار محاسباتی انجام داده باشد، عملا سقف Undo نقض خواهد شد و برگرداندن آن امکان پذیر نیست.
زبان برنامه نویسی VBA هم زبان میانی و نصفه و نیمه هست که قطعا دسترسی کامل سخت افزاری نخواهد داشت (فقط درحد کار با API و … تعبیه شده) برای همین اگر بخوایید مکانیزم Undo و Redo هم داشته باشید، قطعا با VBA یک سیستم نصفه و ناقص خواهید داشت.
پست آموزشی عملیات و سقف تعداد Undo در اکسل توسط جناب آقای سپهر در گروه پرسش و پاسخ تلگرامی اکسل ارسال گردیده بود که توسط گروه آموزشی اکسل لرن ویرایش و منتشر شده است که امیدواریم مورد رضایت شما دنبال کنندگان محترم قرار گیرد.
منبع آموزشی:دانشگاه آنلاین و مجازی سید مسعود حسینی