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

Nitin یک دکمه در یک کاربرگ ایجاد کرد و یک ماکرو را به دکمه مرتبط کرد. دکمه به خوبی کار می کند. وقتی روی آن کلیک می کند، ماکرو اجرا می شود. با این حال، هنگامی که او در کاربرگ به بالا یا پایین پیمایش می کند، دکمه حرکت می کند. نیتین در تعجب است که آیا راهی وجود دارد که دکمه را در جای خود ثابت نگه دارد تا تکان نخورد.

این یک نوع سوال است که در ExcelTip قبلی مطرح شده است . در آن نکته، با عنوان «ایجاد یک دکمه ماکرو شناور»، نتیجه دکمه ای بود که نسبت به هر سلولی که در کاربرگ انتخاب شده بود قرار می گرفت. در موقعیت Nitins، او یکی را می خواهد که نسبت به پنجره روی صفحه نمایش داده شود، نه به هر سلولی در کاربرگ.

چند راه وجود دارد که می توانید به این موضوع نزدیک شوید. اولین مورد ممکن است ساده ترین باشد—ماکرو خود را به دکمه ای در نوار ابزار دسترسی سریع یا، اگر ترجیح می دهید، به سفارشی سازی نوار اضافه کنید. هر یک از این روش ها سریع و آسان است و هم QAT و هم نوار همیشه در یک مکان در پنجره اکسل ظاهر می شوند.

با این حال، اگر می خواهید از رویکرد دکمه درون کاربرگ استفاده کنید، یکی از مواردی که می توانید امتحان کنید این است که ویژگی های دکمه را تغییر دهید. اگر دکمه را به عنوان یک کنترل ActiveX وارد کرده اید (از زبانه Developer نوار)، می توانید روی دکمه کلیک راست کرده و Format Control را از منوی Context ایجاد شده انتخاب کنید. با این کار کادر محاوره ای Format Control نمایش داده می شود و باید مطمئن شوید که تب Properties نمایش داده شده است. (شکل 1 را ببینید.)

image

شکل 1. تب Properties از کادر محاوره ای Format Control.

می خواهید گزینه سوم را در کادر محاوره ای، «Dont move or size withcells» انتخاب کنید. از نظر تئوری این کار دکمه شما را از حرکت روی صفحه باز می دارد.

من می گویم "به لحاظ نظری" زیرا من نتایج متفاوتی با این رویکرد داشتم - گاهی اوقات کار می کند و گاهی اوقات نمی تواند. اگر برای شما کار می کند، عالی است. مشکلت رو حل کردی اگر برای شما کار نمی کند، پس تلاش برای ردیابی چرایی (در تجربه من) یک تمرین بیهودگی است – هیچ قافیه یا دلیلی وجود ندارد که چرا کار نمی کند.

اگر این تجربه شماست، روش دیگر این است که دکمه را به ردیف بالای کاربرگ خود متصل کنید و سپس موقعیت ردیف بالایی را ثابت کنید. (نحوه تثبیت یک ردیف در نکات Excel با نام های «ساخت یک محدوده نام گذاری غیرقابل پیمایش» و «تجمیع هر دو سطر و ستون» پوشش داده شده است.)

اگر رویکرد کلان را ترجیح می دهید، می توانید یک کنترل کننده رویداد کوتاه ایجاد کنید که می تواند این کار را برای شما انجام دهد. برای استفاده از کنترل کننده رویداد، پنجره کد را برای صفحه کاری که می خواهید تحت تأثیر قرار گیرد نمایش دهید (روی برگه کاربرگ راست کلیک کرده و View Code را انتخاب کنید) و سپس موارد زیر را در پنجره کد قرار دهید:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo 0
    With ActiveSheet.Shapes("Button 1")
        .Top = ActiveWindow.VisibleRange.Top + 5
        .Left = ActiveWindow.VisibleRange.Left + 5
    End With
End Sub

این کد با یک کنترل اکتیو ایکس کار می کند که دوباره با استفاده از ابزارهای موجود در تب Developer روبان ایجاد می شود. اگر از یک کنترل قدیمی و غیر ActiveX استفاده می کنید، باید خط With را در ماکرو تغییر دهید:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo 0
    With ActiveSheet.OLEObjects("CommandButton1")
        .Top = ActiveWindow.VisibleRange.Top + 5
        .Left = ActiveWindow.VisibleRange.Left + 5
    End With
End Sub

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo 0
    With ActiveSheet.Shapes("Rectangle 1")
        .Top = ActiveWindow.VisibleRange.Top + 5
        .Left = ActiveWindow.VisibleRange.Left + 5
    End With
End Sub

در این مورد مهم است که مطمئن شوید که خط With هر نامی را که به شکلی که به عنوان دکمه استفاده می کنید، منعکس می کند.

هنگامی که آدرس With down را به درستی برای موقعیت خود دریافت کردید، متوجه خواهید شد که وقتی در کاربرگ با فشار دادن کلیدهای پیمایش ( بالا ، پایین ، چپ ، راست ، PgUp و PgDown ) حرکت می کنید، دکمه نسبتاً در همان مکان باقی می ماند. به پنجره اکسل. اگر از نوارهای پیمایش یا ماوس برای حرکت به بالا، پایین، چپ یا راست استفاده می کنید، دکمه از صفحه خارج می شود. با این حال، پس از کلیک بر روی یک سلول، دوباره در معرض دید قرار می گیرد.

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

96 نفر آنلاین
0 عضو و 96 مهمان در سایت حاضرند
بازدید امروز: 11730
بازدید دیروز: 17680
بازدید کل: 15136426
...