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

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

هیچ تابع ISBOLD داخل اکسل وجود ندارد. یک راه بسیار محرمانه برای انجام این کار بدون توسل به ماکرو وجود دارد، اما فقط با برخی از نسخه های اکسل کار می کند. به عنوان مثال، ظاهراً این رویکرد با Office 365 کار نمی کند، زیرا به نظر می رسد که مایکروسافت در نهایت پشتیبانی از آن را حذف کرده است. این تابع قدیمی اکسل 4 که GET.CELL نام دارد با برخی از نسخه های قدیمی اکسل کار می کند. در اینجا نحوه استفاده از آن در فرمول آمده است:

=IF(GET.CELL(20,A1), "Bold", "Not Bold")

اگر حداقل اولین کاراکتر در سلول پررنگ باشد، تابع GET.CELL True را برمی گرداند.

یک رویکرد بهتر ایجاد یک تابع تعریف شده توسط کاربر در VBA است که می تواند از کاربرگ شما فراخوانی شود. در اینجا یک نسخه ساده از چنین UDF وجود دارد:

Function CheckBold(cell As Range) As Boolean
    Application.Volatile
    CheckBold = cell.Font.Bold
End Function

برای استفاده از آن در کاربرگ خود، این کار را به این صورت انجام دهید:

=IF(CheckBold(A1), "Bold", "Not Bold")

تابع CheckBold تنها زمانی به روزرسانی می شود که کاربرگ شما دوباره محاسبه شود، نه اگر به سادگی قالب بندی پررنگ را روی سلول A1 اعمال کنید یا از آن حذف کنید.

این رویکرد می تواند برای اکثر موارد کار کند، اما درک می کند که ویژگی Bold در واقع می تواند سه تنظیمات ممکن داشته باشد: True، False، و Null. اگر هیچ یک از کاراکترهای سلول پررنگ نباشد، این ویژگی روی False تنظیم می شود. اگر همه آنها پررنگ باشند روی True تنظیم می شود. در نهایت، اگر فقط برخی از کاراکترهای سلول پررنگ باشند، روی Null تنظیم می شود. اگر فکر می کنید ممکن است با این وضعیت مواجه شوید، باید تابع CheckBold را تغییر دهید:

Function CheckBold(cell As Range) As Integer
    Dim iBold As Integer

    Application.Volatile

    iBold = 0
    If IsNull(cell.Font.Bold) Then
        iBold = 2
    Else
        If cell.Font.Bold Then iBold = 1
    End If

    CheckBold = iBold
End Function

توجه داشته باشید که تابع اکنون مقداری از 0 تا 2 را برمی گرداند. اگر 0 برگرداند، هیچ پررنگی در سلول وجود ندارد. اگر 1 برگرداند، کل سلول پررنگ است. اگر عدد 2 را برگرداند، در سلول پررنگ جزئی وجود دارد.

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

95 نفر آنلاین
0 عضو و 95 مهمان در سایت حاضرند
بازدید امروز: 24622
بازدید دیروز: 27627
بازدید کل: 15199444
...