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

دنیس می خواهد سه سلول (A1:A3) را با مقادیر RGB پر کند و یک سلول دیگر (C1) رنگ را بر اساس آن مقادیر نشان دهد. او فکر می کند که آیا راه آسانی برای انجام این کار وجود دارد؟

ساده ترین راه برای انجام این کار استفاده از یک ماکرو است که مقادیر A1:A3 را می گیرد و سپس رنگ سلول C1 را بر اساس آن مقادیر تغییر می دهد. در حالت ایده‌آل، ماکرو باید بررسی کند تا مطمئن شود که مقادیر در سلول‌های منبع در محدوده 0 تا 255 قرار دارند. ماکرو زیر برای این منظور عالی عمل می‌کند:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
        lRed = Abs(Range("A1").Value) Mod 256
        lGreen = Abs(Range("A2").Value) Mod 256
        lBlue = Abs(Range("A3").Value) Mod 256

        Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue)
    End If
End Sub

توجه داشته باشید که این ماکرو باید به کد صفحه کاری که سلول ها در آن وجود دارند اضافه شود. (فقط روی برگه برگه کلیک راست کرده و View Code را انتخاب کنید، سپس ماکرو را در آنجا اضافه کنید.) این یک کنترل کننده رویداد است که هر بار که تغییری در سلول A1، A2 یا A3 ایجاد می شود، به طور خودکار اجرا می شود. با در نظر گرفتن مقدار مطلق محتویات سلول و استفاده از باقیمانده (مدول) تقسیم آن بر 256، مقادیر در آن سلول ها بین 0 تا 255 تضمین می شود.

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

Private Sub Worksheet_Change(ByVal Target As Range)
    lRed = Abs(Range("A1").Value) Mod 256
    lGreen = Abs(Range("A2").Value) Mod 256
    lBlue = Abs(Range("A3").Value) Mod 256

    Range("C1").Interior.Color = RGB(lRed, lGreen, lBlue)
End Sub

این نسخه هر زمان که چیزی در کاربرگ تغییر می‌کند، رنگ را به‌روزرسانی می‌کند، صرفنظر از اینکه تغییر در کجا رخ می‌دهد.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 35 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 30 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 33 visibility
ارسال شده در 27 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 35 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 63 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

341 نفر آنلاین
0 عضو و 341 مهمان در سایت حاضرند
بازدید امروز: 8513
بازدید دیروز: 25180
بازدید کل: 20345865
...