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

سوپریو پرسید که آیا کنترل کننده رویداد ماوس در VBA وجود دارد؟ او می خواهد وقتی روی آن سلول کلیک می شود، مقداری در سلول وارد شود.

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

به عنوان مثال، اجازه دهید بگوییم که شما می خواستید سلول B5 هر زمان که آن سلول انتخاب شد حاوی مقدار 10 باشد. برای پیاده سازی آن، می توانید از موارد زیر استفاده کنید:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("B5")) Is Nothing Then _
      Range("B5").Value = 10
End Sub

این کد به یکی از شیت های صفحه در ناحیه Project Explorer ویرایشگر VB اضافه می شود. روی برگه ای که می خواهید مدیریت رویداد روی آن اعمال شود، دوبار کلیک کنید و سپس ماکرو را به پنجره کد حاصل اضافه کنید.

هنگامی که رویداد SelectionChange فعال می شود، هدف (محدوده سلولی که انتخاب می شود) به کنترل کننده ارسال می شود. سپس ماکرو بررسی می کند که آیا محدوده هدف شامل سلول B5 است یا خیر، و در صورت وجود، مقدار 10 را در سلول B5 قرار می دهد. اگر می خواهید مطمئن شوید که ماکرو فقط اطلاعات را در B5 قرار می دهد که فقط B5 (تک سلول) انتخاب شده باشد، می توانید از این نسخه ماکرو استفاده کنید:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = Range("B5").Address Then _
      Range("B5").Value = 10
End Sub
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوال مشابهی یافت نشد

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

141 نفر آنلاین
0 عضو و 141 مهمان در سایت حاضرند
بازدید امروز: 6913
بازدید دیروز: 27627
بازدید کل: 15181737
...