پیدا کردن عدد خاص و تغییر رنگ سلول اکسل VBA
- آخرین بروزرسانی: 31 اردیبهشت 1402
پیدا کردن عدد خاص و تغییر رنگ سلول اکسل VBA با شما هستی با سری آموزش رایگان اکسل از دسته بندی بانک کد vba در اکسل توی این آموزش اکسل
برای شما نحوه پیدا کردن عدد خاص با تغییر رنگ سلول اکسل آموزش میدهید که یک آموزش بسیار کاربردی است.
پس ادامه آموزش را با آکادمی روح الله همراه باشید
آموزش های پیشنهادی برای شما
قبل از هر کاری آموزش زیر را مشاهده فرمایید👇
نحوه ذخیره فایل اکسل حاوی ماکرو
کار با رنگ ها در اکسل با استفاده از کدهای VBA
پیشنهاد آکادمی روح الله برای شما
پیدا کردن عدد خاص و تغییر رنگ سلول اکسل با استفاده از کد نویسی VBA می توانید از کد های زیر استفاده کنید
روش اول پیدا کردن عدد خاص و تغییر رنگ سلول اکسل VBA
1 2 3 4 5 6 7 8 9 10 |
Sub FindAndColorCells() Dim targetValue As Double Dim cell As Range targetValue = 10 ' عددی که میخواهید پیدا کنید For Each cell In ActiveSheet.UsedRange If IsNumeric(cell.Value) And cell.Value = targetValue Then cell.Interior.ColorIndex = 3 ' تغییر رنگ سلول End If Next cell End Sub |
این کد ابتدا مقدار هدف را در متغیر targetValue ذخیره میکند، سپس برای هر سلول در محدودهی استفاده شده در صفحه فعلی، بررسی میکند که آیا مقدار سلول یک عدد عددی است و با targetValue برابر است یا نه. در صورتی که شرایط بالا برقرار باشند، رنگ پسزمینه سلول را با استفاده از Interior.ColorIndex تغییر میدهد.
برای اجرای کد، به تب Developer رفته و روی دکمهی “Visual Basic” کلیک کنید، سپس در پنجره باز شده، گزینهی “Insert” را انتخاب کرده و سپس “Module” را انتخاب کنید. کد بالا را در پنجرهی باز شده وارد کرده و سپس کلید F5 را برای اجرای کد فشار دهید.
روش دوم پیدا کردن یک عدد خاص و تغییر رنگ آن سلول اکسل با استفاده از کد نویسی vba
1 2 3 4 5 6 7 |
Sub ChangeColor() For Each Cell In Range("A1:A100") If Cell.Value < 10 Then Cell.Interior.ColorIndex = 3 ' Red End If Next Cell End Sub |
برای پیدا کردن یک عدد خاص در اکسل و تغییر رنگ سلول آن، میتوانید از قابلیت شرطی (Conditional Formatting) استفاده کنید.
- ابتدا سلولهایی که میخواهید رنگ آنها تغییر کند را انتخاب کنید.
- سپس به تب “Home” رفته و روی دکمهی “Conditional Formatting” کلیک کنید.
- در منوی باز شده، گزینهی “New Rule” را انتخاب کنید.
- در پنجرهی باز شده، گزینهی “Use a formula to determine which cells to format” را انتخاب کرده و در فیلد زیر آن، فرمول زیر را وارد کنید:
=A1=خواسته_شما
در این فرمول، A1 به سلولی اشاره میکند که میخواهید در آن بررسی کنید که آیا مقدار مورد نظر موجود است یا نه. همچنین، خواسته_شما را با عددی که میخواهید پیدا کنید جایگزین کنید. 5. سپس برای تعیین رنگ سلول، روی دکمهی “Format” کلیک کنید و رنگ مورد نظر خود را انتخاب کنید.
- در انتها روی دکمهی “OK” کلیک کرده و تغییرات را ذخیره کنید.
اکنون، اگر عددی که میخواهید پیدا کنید در سلول مورد نظر وجود داشته باشد، رنگ سلول به رنگی که انتخاب کردهاید تغییر میکند.
البته این رو از طریق کد نویسی میخوام بدونم چون از conditional formatting راهش رو بلدم
حتی کد vba اون هم تا حدودی بلدم ولی نمیدونم چططور با رویداد تغییر یک سلول کد اجرا باید بشه
برای اجرای کد VBA به وسیله رویداد تغییر یک سلول در اکسل، میتوانید از رویداد “Worksheet_Change” استفاده کنید. در اینجا نحوه انجام این کار توضیح داده شده است:
وارد ویرایشگر ماکروها در اکسل شوید با استفاده از Alt + F11.
در پنجره کد VBA، مطمئن شوید که از کارشیت مورد نظر خود استفاده میکنید. برای این کار، در پنل “Project Explorer”، دوبار کلیک بر روی ورق مورد نظر خود کنید.
اکنون کد VBA زیر را وارد کنید
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ColorRange As Range
Dim ColorIndex As Integer
Dim ChangedCell As Range
' تنظیم محدوده مربوط به Validation Data
Set ColorRange = Range("A1:A10") ' محدوده مورد نظر را تغییر دهید
' تنظیم مقدار تغییر یافته
Set ChangedCell = Target
' بررسی آیا تغییر در محدوده Validation Data رخ داده است
If Not Intersect(ChangedCell, ColorRange) Is Nothing Then
' تعیین رنگ بر اساس انتخاب کاربر
ColorIndex = ChangedCell.Value
' برای مقادیر اعتبارسنجی دیگر، اقدام به تنظیم رنگ میکنیم
For Each Cell In ColorRange
If Cell.Address <> ChangedCell.Address Then
If Cell.Value = ColorIndex Then
' تنظیم رنگ خانهها
Cell.Interior.Color = RGB(255, 0, 0) ' مثال: قرمز
' اگر میخواهید رنگ دیگری داشته باشید، رنگ مورد نظر خود را تغییر دهید
Else
' تنظیم رنگ پیشفرض
Cell.Interior.ColorIndex = xlColorIndexNone
End If
End If
Next Cell
End If
End Sub
در کد بالا، متغیرهای ColorRange و ColorIndex را به محدوده و مقدار مورد نظر خود تغییر دهید.
حالا این کد واقعی خواهد شد و هر زمان که یک خانه از محدوده Validation Data تغییر کند، رنگ سلولهای دیگر به تغییر خواهد کرد.
از این روش برای اجرای کد VBA با رویداد تغییر سلولها استفاده کنید.
سلام تشکر بابت مطالب آموزنده شما
من میخوام با تغییر یک سلول خانه هایی از سلول های دیگه رنگش عوض بشه
فرض مثال در بک سلول data validation به سه مقدار تعریف کردم
حالا میخوام با هر بار انتخاب یکی از این مقادیر backcolor مقادیر خانه های دیگه تغییر کنه.ممنون میشم راهنمایی بفرمایید
سلام ارادت خدمت شما دوست عزیز برای این کار مراحل زیر را دنبال کنید بازهم متوجه نشدین بگوید تا برای تون یک آموزش ضبط کنم در این مورد
ماکروها (VBA) در اکسل استفاده کنید. این کد به شما کمک میکند تا با تغییر مقدار یک خانه از Validation Data، رنگ سلولهای دیگر تغییر کند.
ابتدا وارد ویرایشگر ماکروها در اکسل شوید. برای این کار، از کلید میانبر Alt + F11 استفاده کنید.
در ویرایشگر ماکروها، از منوی “Insert” یک ماژول جدید ایجاد کنید.
در ماژول جدید، کد زیر را وارد کنید:
Sub ChangeCellColor()
Dim TargetCell As Range
Dim ColorRange As Range
Dim ColorIndex As Integer
' تنظیم محدوده مربوط به Validation Data
Set ColorRange = Range("A1:A10") ' محدوده مورد نظر را تغییر دهید
' تعیین رنگ بر اساس انتخاب کاربر
ColorIndex = ActiveCell.Value
' برای مقادیر اعتبارسنجی دیگر، اقدام به تنظیم رنگ میکنیم
For Each TargetCell In ColorRange
If TargetCell.Address <> ActiveCell.Address Then
If TargetCell.Value = ColorIndex Then
' تنظیم رنگ خانهها
TargetCell.Interior.Color = RGB(255, 0, 0) ' مثال: قرمز
' اگر میخواهید رنگ دیگری داشته باشید، رنگ مورد نظر خود را تغییر دهید
Else
' تنظیم رنگ پیشفرض
TargetCell.Interior.ColorIndex = xlColorIndexNone
End If
End If
Next TargetCell
End Sub
در کد بالا، ColorRange محدوده خانههای Validation Data است. شما میتوانید این محدوده را با محدودهای که شما در فایل اکسل خود دارید تعویض کنید.
آمادهاید! اکنون میتوانید ماکرو را اجرا کنید. به اکسل برگردید، محدودهای از خانههای Validation Data را انتخاب کرده و سپس ماکرو “ChangeCellColor” را اجرا کنید. تغییر مقدار خانهها و رنگهای آنها را ببینید.
این روش به شما امکان میدهد با تغییر مقادیر اعتبارسنجی، رنگ خانههای دیگر تغییر کند. اگر میخواهید رنگها را به رنگهای دیگری تغییر دهید، رنگ RGB مورد نظر خود را در کد تعویض کنید.
موفق باشید مثل همیشه