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

رابین می پرسد آیا راهی برای استفاده از قابلیت های قالب بندی شرطی Excels برای تغییر فونت استفاده شده در یک سلول یا تغییر اندازه فونت در یک سلول وجود دارد؟ پاسخ کوتاه این است که خیر، نمی توان این کار را انجام داد – حداقل نه با قالب بندی مشروط. (کنترل هایی که به شما امکان می دهند نام و اندازه فونت را مشخص کنید، در کادر محاوره ای قالب بندی که با قالب بندی شرطی استفاده می شود، خاکستری می شوند.)

با این حال، می توانید از یک ماکرو برای بررسی محتویات سلول و ایجاد تغییرات در ظاهر یک سلول استفاده کنید. ماکرو زیر را در نظر بگیرید که هر سلولی را که هنگام اجرای ماکرو انتخاب کرده اید بررسی می کند. اگر طول هر یک از سلول ها بیش از دو کاراکتر یا مقدار آن بیشتر از 10 باشد، فونت سلول ها تغییر می کند.

Sub DoReformat()
    Dim rCell As Range

    For Each rCell In Selection.Cells
        If Len(rCell.Text) > 2 Or _
          Val(rCell.Value) > 10 Then
            rCell.Font.Name = "Arial"
            rCell.Font.Size = 16
        Else
            rCell.Font.Name = "Times New Roman"
            rCell.Font.Size = 12
        End If
    Next
End Sub

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

Private Sub Worksheet_Calculate()
    Dim rng As Range
    Dim rCell As Range

    Set rng = Range("A1:A10")

    For Each rCell In rng
        If Len(rCell.Text) > 2 Or _
          Val(rCell.Value) > 10 Then
            rCell.Font.Name = "Arial"
            rCell.Font.Size = 16
        Else
            rCell.Font.Name = "Times New Roman"
            rCell.Font.Size = 12
        End If
    Next
End Sub

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

یکی از ایرادات این ماکرو این است که اگر محدوده بسیار زیادی برای بررسی آن داشته باشید، می تواند کند شود. اگر A1:A10 (ده سلول) را بررسی کنید خیلی سریع انجام می شود، اما اگر به طور مداوم B2:N465 را بررسی کنید (بیش از 6000 سلول) ممکن است بسیار کندتر پیش رود. در این صورت، ممکن است بخواهید ماکرو را طوری طراحی کنید که هر زمان که کاربرگ تغییر می کند، اجرا شود، اما تنها در صورتی عمل می کند که تغییر در سلولی در محدوده هدف شما انجام شده باشد. نسخه زیر نیز به شی کاربرگ اضافه شده است:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rCell As Range

    If Union(Target, Range("A1:A10")).Address = _
      Range("A1:A10").Address Then
        Application.EnableEvents = False
        For Each rCell In Target
            If Len(rCell.Text) > 2 Or _
              Val(rCell.Value) > 10 Then
                rCell.Font.Name = "Arial"
                rCell.Font.Size = 16
            Else
                rCell.Font.Name = "Times New Roman"
                rCell.Font.Size = 12
            End If
        Next
        Application.EnableEvents = True
    End If
End Sub

ماکرو از تابع Union استفاده می کند تا بررسی کند سلول های تغییر یافته (به کنترل کننده رویداد در متغیر Target ارسال شده) با محدوده مورد نظر شما همپوشانی دارند یا خیر. اگر این کار را انجام دهند، بررسی روی سلول های محدوده Target انجام می شود.

یکی از مواردی که باید در مورد ماکروهایی که بر قالب بندی تأثیر می گذارند در نظر داشته باشید این است که اگر قالب بندی شرطی روی سلولی اعمال شود که توسط ماکرو نیز بررسی می شود، قالب بندی در قالب بندی شرطی بر قالب بندی در ماکرو اولویت دارد. اگر ماکرو شما در حال تغییر نام قلم و اندازه فونت است، این نگرانی بزرگی نیست زیرا قالب بندی شرطی بر این ویژگی ها تأثیر نمی گذارد. با این حال، اگر ماکرو خود را تغییر دهید تا یک ویژگی فرمت متفاوت را نیز تغییر دهید - مانند رنگ سلول - و آن ویژگی نیز با قالب شرطی تغییر کند، به نظر نمی رسد که ماکرو کاری انجام داده است زیرا اکسل از قالب بندی شرطی در اولویت استفاده می کند. ماکرو انجام می دهد.

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

106 نفر آنلاین
0 عضو و 106 مهمان در سایت حاضرند
بازدید امروز: 13926
بازدید دیروز: 23384
بازدید کل: 15264824
...