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

جان متعجب است که آیا راهی در VBA برای شناسایی آخرین سلولی که توسط کاربر تغییر کرده است وجود دارد؟ او نمی خواهد بداند که آیا سلول توسط یک ماکرو تغییر کرده است یا خیر، اما به طور خاص توسط یک کاربر.

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

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.StatusBar = Target.Address
End Sub

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

Dim sAddr As String

Private Sub Worksheet_Change(ByVal Target As Range)
    sAddr = Target.Address(False, False)
End Sub

سپس می توانید از یک ماکرو معمولی برای بازیابی آدرس ذخیره شده در متغیر sAddr استفاده کنید و هر کاری که می خواهید با آن انجام دهید.

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

Application.EnableEvents = False
Range("A1") = "Hello"
Application.EnableEvents = True

با خاموش بودن مدیریت رویداد، کنترل کننده رویداد Worksheet_Change فعال نمی شود و آدرس «آخرین تغییر» به روزرسانی نمی شود. نتیجه این است که شما در نهایت فقط تغییرات انجام شده توسط کاربران را ردیابی می کنید، نه تغییرات انجام شده توسط ماکروها.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 34 visibility
ارسال شده در 25 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 38 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 34 visibility
ارسال شده در 27 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 27 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 28 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

324 نفر آنلاین
0 عضو و 324 مهمان در سایت حاضرند
بازدید امروز: 15632
بازدید دیروز: 25180
بازدید کل: 20352979
...