ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
34 visibility
موضوع: آفیس توسط:

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

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

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

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

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

اگر باز هم این کار را انجام نداد، ممکن است نیاز به رفع اشکال داشته باشید. در ماکرو "RunAll"، از ویرایشگر VBA برای ایجاد نقطه شکست در خطی که ماکرو شکست خورده را فراخوانی می کند، استفاده کنید. سپس می توانید از دستور "Step Into" برای وارد شدن به ماکرو استفاده کنید و محل وقوع خرابی را بررسی کنید. توجه ویژه ای به صفحه کاری و سلول هایی که ماکرو می خواهد تغییر دهد، داشته باشید، و سپس ببینید آیا می توانید بفهمید که چه اتفاقی در ماکروهای قبلی می افتد تا به آن کاربرگ و سلول ها منجر شود. می توانید از یکی از خطوط زیر در پنجره فوری استفاده کنید تا ببینید کجا هستید:

? ActiveSheet.Name
? ActiveCell.Address

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

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
1 پاسخ 54 visibility
0 دوستدار 0 امتیاز منفی
1 پاسخ 37 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 38 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 42 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 26 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

197 نفر آنلاین
0 عضو و 197 مهمان در سایت حاضرند
بازدید امروز: 3141
بازدید دیروز: 25180
بازدید کل: 20340496
...