بسازید
Clay می خواهد بداند که آیا راهی وجود دارد که با انتخاب یک سلول خاص، Excel به طور خودکار محتوای یک سلول دیگر را پررنگ کند. برای مثال، اگر سلول K5 را انتخاب کند، مایل است هر چیزی که در سلول C5 است به صورت پررنگ نشان داده شود. هنگامی که او سلول K5 را ترک می کند (برای رفتن به یک سلول دیگر)، سپس سلول C5 باید به حالت قبل از انتخاب K5 بازگردد.
در ارائه راه حل ها، ممکن است فکر کنید می توانید از قالب بندی شرطی برای اعمال قالب بندی در سلول C5 استفاده کنید. از نظر تئوری، انجام این کار باید آسان باشد. تنها کاری که باید انجام دهید این است که یک قانون قالب بندی شرطی بر اساس فرمول زیر ایجاد کنید:
=CELL("address")="$K$5"
از آنجایی که تابع CELL همانطور که در اینجا استفاده می شود، آدرس هر سلولی را که انتخاب شده است برمی گرداند، پس هر زمان که سلول K5 انتخاب شد، قالب بندی در قانون اعمال می شود (در این مورد، سلول را روی پررنگ قرار می دهیم). اما مشکل این رویکرد این است که در عمل خوب کار نمی کند.
دلیل آن این است که تابع CELL تنها زمانی ارزیابی می شود که کاربرگ دوباره محاسبه شود. اگر فقط سلول K5 را انتخاب کنید، کاربرگ دوباره محاسبه نمی شود، بنابراین فرمول به True تبدیل نمی شود و قالب شرطی اعمال نمی شود. تنها راه کار این است که سلول K5 را انتخاب کنید، سپس F9 را فشار دهید تا کاربرگ دوباره محاسبه شود و سپس سلول C5 به صورت پررنگ نشان داده می شود.
بهترین راه برای انجام قالب بندی، استفاده از یک ماکرو است، به ویژه ماکرو مرتبط با رویداد SelectionChange برای کاربرگ. هر بار که سلول انتخاب شده تغییر می کند، این رویداد فعال می شود. ماکرو زیر بررسی می کند که آیا سلول K5 انتخاب شده است یا خیر. اگر چنین است، سلول C5 پررنگ است. اگر اینطور نیست، سلول C5 "بدون پررنگ" است.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address(False, False) = "K5" Then
Range("C5").Font.Bold = True
Else
Range("C5").Font.Bold = False
End If
End Sub
به یاد داشته باشید که این ماکرو به کد برگه ای که برای آن اعمال می شود اضافه می شود—روی برگه کاربرگ راست کلیک کرده و View Code را انتخاب کنید. اینجاست که ماکرو باید قرار گیرد. از آنجایی که ماکرو هر بار که آنچه در کاربرگ انتخاب شده را تغییر می دهید اجرا می شود، "وضعیت پررنگ" سلول C5 به طور مداوم به روز می شود.
توجه داشته باشید که ماکرو به طور موثر خاصیت Bold سلول را تغییر می دهد. بنابراین، اگر سلولی غیر از K5 را انتخاب کنید، هر چیزی که در سلول C5 باشد پررنگ نخواهد بود. البته اگر قوانین قالب بندی مشروط دیگری برای سلول C5 تعریف شده باشد که باعث پررنگ شدن آن شود، صدق نمی کند. در آن صورت، قالب مشروط بر هر کاری که این ماکرو خاص ممکن است انجام دهد اولویت دارد.