ماکروها اغلب برای پردازش دادهها ایجاد میشوند و پردازش دادهها اغلب زمان زیادی میبرد. به همین دلیل، برخی از کاربران ممکن است فکر کنند که رایانهشان دیگر پاسخ نمیدهد، حتی اگر ماکرو مشغول تکه تکه کردن کار تعیینشدهاش باشد.
راه حل اکثر توسعه دهندگان ماکرو این است که به نحوی به کاربران در مورد پیشرفت ماکرو هشدار دهند. دو راه برای انجام این کار در اکسل وجود دارد. ساده ترین و رایج ترین روش استفاده از نوار وضعیت برای نشان دادن کاری است که ماکرو انجام می دهد. تنها کاری که باید انجام دهید این است که یک رشته حاوی پیام وضعیت را کنار هم قرار دهید و سپس آن رشته را به ویژگی StatusBar شی Application اختصاص دهید، همانطور که در اینجا نشان داده شده است:
sStatus = "Processing Input File - Please Be Patient"
Application.StatusBar = sStatus
پیام در نوار وضعیت باقی می ماند تا زمانی که آن را با پیام دیگری بازنویسی کنید. همچنین می توانید پیشرفت را در یک حلقه با دادن درصد کامل نشان دهید:
For x = 1 to y
Application.StatusBar = Format(x/y,"0.0%") & " Complete"
Other coding here
Next
وقتی روال شما تمام شد، نوار وضعیت را با عبارت زیر به حالت عادی برگردانید:
Application.StatusBar = False
اگر ترجیح می دهید یک نشانگر پیشرفت واقعی برای ماکرو ایجاد کنید، می توانید این کار را با ایجاد یک UserForm و سپس به روز رسانی فرم برای نمایش یک "نوار درصد" یا یک نشانگر بصری دیگر انجام دهید. نمونه ای از این نوع شاخص پیشرفت را می توانید در این آدرس بیابید:
https://www.excel-easy.com/vba/examples/progress-indicator.html