انتقل إلى المحتوى الرئيسي

قد يكون التنقل عبر أوراق عمل Excel الشاملة المليئة بالبيانات أمرًا صعبًا، ومن السهل أن تفقد مكانك أو تخطئ في قراءة القيم. لتحسين تحليل بياناتك وتقليل فرصة حدوث الأخطاء، سنقدم لك 3 طرق مختلفة لتمييز صف وعمود الخلية المحددة ديناميكيًا في Excel. أثناء انتقالك من خلية إلى أخرى، يتغير التمييز ديناميكيًا، مما يوفر إشارة مرئية واضحة وبديهية للحفاظ على تركيزك على البيانات الصحيحة كما هو موضح في العرض التوضيحي التالي:

تمييز الصف والعمود النشط تلقائيًا في Excel


فيديو: تمييز الصف والعمود النشط تلقائيًا في Excel


تمييز الصف والعمود النشطين تلقائيًا باستخدام كود VBA

لتمييز العمود والصف بالكامل للخلية المحددة تلقائيًا في ورقة العمل الحالية، قد يساعدك كود VBA التالي في تحقيق هذه المهمة.

الخطوة 1: افتح ورقة العمل حيث تريد تمييز الصف والعمود النشطين تلقائيًا

الخطوة 2: افتح محرر وحدة ورقة VBA وانسخ الكود

  1. انقر بزر الماوس الأيمن على اسم الورقة، ثم اختر عرض الرمز من قائمة السياق ، انظر لقطة الشاشة:
  2. في محرر وحدة ورقة VBA المفتوحة، انسخ التعليمة البرمجية التالية والصقه في الوحدة النمطية الفارغة. انظر لقطة الشاشة:
    كود فبا: تمييز تلقائي لصف وعمود الخلية المحددة
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Update by Extendoffice
        Dim rowRange As Range
        Dim colRange As Range
        Dim activeCell As Range
        Set activeCell = Target.Cells(1, 1)
        Set rowRange = Rows(activeCell.Row)
        Set colRange = Columns(activeCell.Column)
         Cells.Interior.ColorIndex = xlNone
        rowRange.Interior.Color = RGB(248, 150, 171)
        colRange.Interior.Color = RGB(173, 233, 249)
    End Sub
    
    نصائح: تخصيص الكود
    • لتغيير لون التمييز، تحتاج ببساطة إلى تعديل قيمة RGB في البرامج النصية التالية:
      RowRange.Interior.Color = RGB(248، 150، 171)
      colRange.Interior.Color = RGB(173، 233، 249)
    • لتمييز الصف بأكمله من الخلية المحددة فقط، قم بإزالة هذا السطر أو التعليق عليه (أضف فاصلة عليا في المقدمة):
      colRange.Interior.Color = RGB(173، 233، 249)
    • لتمييز عمود الخلية المحددة بالكامل فقط، قم بإزالة هذا السطر أو التعليق عليه (أضف فاصلة عليا في المقدمة):
      rowRange.Interior.Color = RGB(248، 150، 171)

  3. ثم أغلق نافذة محرر VBA للعودة إلى ورقة العمل.

النتيجة:

الآن، عند تحديد خلية، يتم تمييز الصف والعمود بالكامل في تلك الخلية تلقائيًا، ويتغير التمييز ديناميكيًا مع تغير الخلية المحددة كما هو موضح في العرض التوضيحي أدناه:

الملاحظات:
  • سيؤدي هذا الرمز إلى مسح ألوان الخلفية من كافة الخلايا في ورقة العمل، لذا تجنب استخدام هذا الحل إذا كان لديك خلايا ذات ألوان مخصصة.
  • سيؤدي تشغيل هذا الرمز إلى تعطيل فك الميزة الموجودة في الورقة، مما يعني أنه لا يمكنك عكس أي أخطاء بالضغط على الزر CTRL + Z الاختصار.
  • لن يعمل هذا الرمز في ورقة عمل محمية.
  • لإيقاف تمييز صف وعمود الخلية المحددة، ستحتاج إلى إزالة رمز VBA المضاف مسبقًا. بعد ذلك، لإعادة ضبط التمييز عن طريق النقر الصفحة الرئيسية > ملء اللون > بدون تعبئة.

تمييز الصف والعمود النشط تلقائيًا بنقرة واحدة فقط على Kutools

هل تواجه قيود كود VBA في Excel؟ كوتولس لبرنامج Excel's التركيز على الشبكة الميزة هي الحل المثالي الخاص بك! تم تصميمه لمعالجة أوجه القصور في VBA، وهو يقدم مجموعة متنوعة من أنماط التمييز لتحسين تجربة الورقة الخاصة بك. مع قدرته على تطبيق هذه الأنماط عبر جميع المصنفات المفتوحة، كوتولس يضمن عملية إدارة بيانات فعالة وجذابة بشكل متسق.

ملاحظات: إذا كنت تريد استخدام هذا التركيز على الشبكة الميزة من فضلك قم بتنزيل وتثبيت Kutools لبرنامج Excel لأول مرة.

بعد تثبيت كوتولس ل إكسيلالرجاء النقر كوتولس > التركيز على الشبكة لتمكين هذه الميزة. الآن، يمكنك رؤية صف وعمود الخلية النشطة يتم تمييزهما على الفور. يتحول هذا التمييز ديناميكيًا للمتابعة أثناء تغيير تحديد الخلية. انظر العرض التوضيحي أدناه:

الفوائد الرئيسية لميزة التركيز على الشبكة:
  • يحافظ على ألوان خلفية الخلية الأصلية:
    على عكس تعليمات VBA البرمجية، تحترم هذه الميزة التنسيق الحالي لورقة العمل الخاصة بك.
  • صالحة للاستخدام في الأوراق المحمية:
    تعمل هذه الميزة بسلاسة ضمن أوراق العمل المحمية، مما يجعلها مثالية لإدارة المستندات الحساسة أو المشتركة دون المساس بالأمان.
  • لا يؤثر على وظيفة التراجع:
    باستخدام هذه الميزة، يمكنك الاحتفاظ بحق الوصول الكامل إلى وظيفة التراجع في Excel. وهذا يضمن أنه يمكنك التراجع عن التغييرات بسهولة، مما يضيف طبقة من الأمان إلى معالجة بياناتك.
  • أداء مستقر مع البيانات الكبيرة:
    تم تصميم هذه الميزة للتعامل مع مجموعات البيانات الكبيرة بكفاءة، مما يضمن أداءً مستقرًا حتى في جداول البيانات المعقدة والمكثفة البيانات.
  • أنماط تسليط الضوء متعددة:
    توفر هذه الميزة مجموعة متنوعة من خيارات التمييز، مما يسمح لك بالاختيار من بين الأنماط والألوان المختلفة لجعل الخلية النشطة المكونة من صف أو عمود أو صف وعمود مميزة بطريقة تناسب تفضيلاتك واحتياجاتك.
نصيحة:
  • لتعطيل هذه الميزة، الرجاء النقر فوق كوتولس > التركيز على الشبكة مرة أخرى لإغلاق هذه الوظيفة؛
  • لتطبيق هذه الميزة ، من فضلك قم بتنزيل وتثبيت Kutools لبرنامج Excel لأول مرة.

تمييز الصف والعمود النشطين تلقائيًا باستخدام التنسيق الشرطي

في Excel، يمكنك أيضًا إعداد التنسيق الشرطي لتمييز الصف والعمود النشطين تلقائيًا. لإعداد هذه الميزة، يرجى اتباع الخطوات التالية:

الخطوة 1: حدد نطاق البيانات

أولاً، حدد نطاق الخلايا التي تريد تطبيق هذه الميزة عليها. يمكن أن تكون هذه ورقة العمل بأكملها أو مجموعة بيانات محددة. هنا، سأقوم باختيار ورقة العمل بأكملها.

الخطوة 2: الوصول إلى التنسيق الشرطي

انقر الصفحة الرئيسية > تنسيق مشروط > قانون جديد، انظر لقطة الشاشة:

الخطوة 3: قم بتعيين العمليات في قاعدة التنسيق الجديدة

  1. في مجلة قاعدة تنسيق جديدة مربع الحوار، اختر استخدم صيغة لتحديد الخلايا المطلوب تنسيقها من حدد نوع القاعدة مربع القائمة.
  2. في مجلة تنسيق القيم حيث تكون هذه الصيغة صحيحة في المربع، أدخل إحدى هذه الصيغ، وفي هذا المثال، سأطبق الصيغة الثالثة لتسليط الضوء على الصف والعمود النشطين.
    لتسليط الضوء على الصف النشط:
    =CELL("row")=ROW()
    لتمييز العمود النشط:
    =CELL("col")=COLUMN()
    لتمييز الصف والعمود النشط:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. ثم اضغط شكل .
  4. في ما يلي تنسيق الخلايا مربع الحوار ، تحت شغل علامة التبويب، اختر لونًا واحدًا لتمييز الصف والعمود النشطين حسب حاجتك، انظر لقطة الشاشة:
  5. ثم اضغط OK > OK لإغلاق الحوارات.

النتيجة:

الآن، يمكنك رؤية العمود والصف بأكمله من الخلية A1 قد تم تمييزهما مرة واحدة. لتطبيق هذا التمييز على خلية أخرى، ما عليك سوى النقر على الخلية المطلوبة ثم الضغط على الزر F9 لتحديث الورقة، والتي ستقوم بعد ذلك بتمييز العمود والصف بالكامل للخلية المحددة حديثًا.

نصيحة: 
  • في الواقع، على الرغم من أن أسلوب التنسيق الشرطي للتمييز في Excel يقدم حلاً، إلا أنه ليس سلسًا مثل الاستخدام VBA و التركيز على الشبكة ميزة. تتطلب هذه الطريقة إعادة الحساب اليدوي للورقة (يتم ذلك عن طريق الضغط على زر F9 مفتاح).
    لتمكين إعادة الحساب التلقائي لورقة العمل الخاصة بك، يمكنك دمج كود VBA بسيط في وحدة التعليمات البرمجية الخاصة بورقة العمل الخاصة بك. سيؤدي هذا إلى أتمتة عملية التحديث، مما يضمن تحديث التمييز فورًا عند تحديد خلايا مختلفة دون الضغط على الزر F9 مفتاح. الرجاء النقر بزر الماوس الأيمن فوق اسم الورقة، ثم اختر عرض الرمز من قائمة السياق. ثم انسخ الكود التالي والصقه في وحدة الورقة:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • يحافظ التنسيق الشرطي على التنسيق الحالي الذي قمت بتطبيقه يدويًا على ورقة العمل الخاصة بك.
  • من المعروف أن التنسيق الشرطي متقلب، خاصة عند تطبيقه على مجموعات بيانات كبيرة جدًا. من المحتمل أن يؤدي استخدامه على نطاق واسع إلى إبطاء أداء المصنف الخاص بك، مما يؤثر على كفاءة معالجة البيانات والتنقل فيها.
  • تتوفر وظيفة CELL فقط في إصدارات Excel 2007 والإصدارات الأحدث، وهذه الطريقة غير متوافقة مع الإصدارات السابقة من Excel.

مقارنة بين الطرق المذكورة أعلاه

الميزات كود فبا تنسيق مشروط كوتولس ل إكسيل
الحفاظ على لون خلفية الخلية لا نعم نعم
يدعم التراجع لا نعم نعم
مستقرة في مجموعات البيانات الكبيرة لا لا نعم
صالحة للاستعمال في الأوراق المحمية لا نعم نعم
ينطبق على كافة المصنفات المفتوحة الورقة الحالية فقط الورقة الحالية فقط جميع المصنفات المفتوحة
يتطلب التحديث اليدوي (F9) لا نعم لا

بهذا نختتم دليلنا حول كيفية تمييز عمود وصف الخلية المحددة في Excel. إذا كنت مهتمًا باستكشاف المزيد من النصائح والحيل الخاصة بـ Excel، فإن موقعنا يقدم آلاف البرامج التعليمية، من فضلك انقر هنا للوصول إليها. شكرًا لك على القراءة، ونتطلع إلى تزويدك بالمزيد من المعلومات المفيدة في المستقبل!


مقالات ذات صلة:

  • تمييز تلقائي لصف وعمود الخلية النشطة
  • عند عرض ورقة عمل كبيرة تحتوي على العديد من البيانات ، قد ترغب في تمييز صف وعمود الخلية المحددين بحيث يمكنك قراءة البيانات بسهولة وبساطة لتجنب إساءة قراءتها. هنا ، يمكنني تقديم بعض الحيل الشيقة لتسليط الضوء على صف وعمود الخلية الحالية ، عندما يتم تغيير الخلية ، يتم تمييز عمود وصف الخلية الجديدة تلقائيًا.
  • قم بتمييز كل صف أو عمود آخر في Excel
  • في ورقة العمل الكبيرة، يؤدي تمييز أو ملء كل صف أو عمود آخر أو كل صف أو عمود إلى تحسين رؤية البيانات وسهولة قراءتها. فهو لا يجعل ورقة العمل تبدو أكثر أناقة فحسب، بل يساعدك أيضًا على فهم البيانات بشكل أسرع. في هذه المقالة، سنرشدك عبر طرق مختلفة لتظليل كل صف أو عمود آخر أو صف أو عمود، مما يساعدك على تقديم بياناتك بطريقة أكثر جاذبية ومباشرة.
  • قم بتمييز الصف بأكمله / بالكامل أثناء التمرير
  • إذا كانت لديك ورقة عمل كبيرة تحتوي على أعمدة متعددة ، فسيكون من الصعب عليك تمييز البيانات الموجودة في هذا الصف. في هذه الحالة ، يمكنك تمييز صف الخلية النشطة بالكامل بحيث يمكنك عرض البيانات في هذا الصف بسرعة وسهولة عند التمرير لأسفل في شريط التمرير الأفقي. في هذه المقالة ، سأتحدث عن بعض الحيل لك لحل هذه المشكلة .
  • قم بتمييز الصفوف بناءً على القائمة المنسدلة
  • ستتحدث هذه المقالة عن كيفية تمييز الصفوف استنادًا إلى القائمة المنسدلة ، واتخاذ لقطة الشاشة التالية على سبيل المثال ، عندما أحدد "قيد التقدم" من القائمة المنسدلة في العمود E ، أحتاج إلى تمييز هذا الصف باللون الأحمر ، عندما حدد "مكتمل" من القائمة المنسدلة ، وأحتاج إلى تمييز هذا الصف باللون الأزرق ، وعند تحديد "لم يتم البدء" ، سيتم استخدام اللون الأخضر لتمييز الصف.
Comments (61)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
And please reply to an email
This comment was minimized by the moderator on the site
Great job . But in the first task at the top of the browser page, when I did it, it was working correctly, but when I made protection for the sheet, it stopped working correctly, you see, what's the solution. Thank you
This comment was minimized by the moderator on the site
Hello,
To solve your problem, please apply the followign code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rowRange As Range
    Dim colRange As Range
    Dim activeCell As Range
    Me.Unprotect
    Cells.Interior.ColorIndex = xlNone
    Set activeCell = Target.Cells(1, 1)
    Set rowRange = Rows(activeCell.Row)
    Set colRange = Columns(activeCell.Column)
    rowRange.Interior.Color = RGB(173, 233, 249)
    colRange.Interior.Color = RGB(173, 233, 249)
    Me.Protect
End Sub



Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    
    ' Clear previous highlighting
    Me.Cells.FormatConditions.Delete
    
    ' Check if Checkbox1 is checked
    ' If CheckBox1.Value = True Then
        ' Check if a single cell or a range of cells is selected
        If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
            Dim selectedRange As Range
            Dim selectedRows As Range
            Dim selectedColumns As Range
            
            Set selectedRange = Target
            Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
            Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)
            
            ' Add conditional formatting to highlight the selected rows
            With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
            
            ' Add conditional formatting to highlight the selected columns
            With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
                .Interior.Color = RGB(255, 230, 153) ' Yellow color
            End With
        End If
    ' End If
    
    On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next

' Clear previous highlighting
Me.Cells.FormatConditions.Delete

' Check if a single cell or a range of cells is selected
If Target.Cells.Count = 1 Or Target.Cells.Count > 1 Then
Dim selectedRange As Range
Dim selectedRows As Range
Dim selectedColumns As Range

Set selectedRange = Target
Set selectedRows = Me.Range(Me.Cells(selectedRange.Row, 1), Me.Cells(selectedRange.Row + selectedRange.Rows.Count - 1, 1).EntireRow)
Set selectedColumns = Me.Range(Me.Cells(1, selectedRange.Column), Me.Cells(1, selectedRange.Column + selectedRange.Columns.Count - 1).EntireColumn)

' Add conditional formatting to highlight the selected rows
With selectedRows.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With

' Add conditional formatting to highlight the selected columns
With selectedColumns.FormatConditions.Add(Type:=xlExpression, Formula1:="=TRUE")
.Interior.Color = RGB(255, 230, 153) ' Yellow color
End With
End If

On Error GoTo 0
End Sub
This comment was minimized by the moderator on the site
can you please post code in VBA format? trying to figure out what your code looks like from what you posted in a jumble is frustrating.
This comment was minimized by the moderator on the site
Hi,

The above code is brilliant. But i have two questions and if you can help then will be much appreciated. Let me know if there is cost associated with it.

1. The above code is removing my previous formatting of the cells. Eg. if i have got the cells filld with blue then above code clears that fill.
2. Is there a code that i can use when i am extracting values from another sheet and that row in the that sheet gets highlighted as well. Eg. I want to extract vale from another cell, so when i press = sign in sheet 1 and then when i move to sheet 2 to bring the value the row in the sheet doesn't get highlighted.

Regards,
This comment was minimized by the moderator on the site
Hello, Patel
For the first question:
It may be difficult to modify the VBA code, so, I recommend you to apply the Conditional Formatting feature for solving this problem, the following article may help you:
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html

Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

For the second question:
Sorry, I can't solve this problem at present,😜
This comment was minimized by the moderator on the site
How do you modify the code so that:
1. It does not permanently strip existing colors of cells. Currently, after another cell is selected, it leaves colorless previous row. I'd like to keep the colors of the worksheet, as they were before row was highlighted by this code.
2. Limit the highlight width to only Columns A thru K, not the entire row.
This comment was minimized by the moderator on the site
Hello,
It may be difficult to modify the VBA code, so, here, I recommend you to apply the Conditional Formatting feature for solving this problem, please view the below article: (Note: if you need to highlight the column A to column K, you just need to select the range you need, and then apply the conditional formatting.)
https://www.extendoffice.com/documents/excel/3500-excel-highlight-selected-row-conditional-formatting.html


Or you can use the Kutools for Excel' Reading Layout feature, you can try it 30 days for free.
Please download from: https://www.extendoffice.com/download/kutools-for-excel.html

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Thank you so much for this tip!!!
Rated 5 out of 5
This comment was minimized by the moderator on the site
Another easy way to highlight your rows: https://youtu.be/iOF06mZDGIk
This comment was minimized by the moderator on the site
FAIL. Wiped out all my other cell formatting irreversibly. And doesn't work if the sheet is protected. FAIL.
This comment was minimized by the moderator on the site
Hi Gues,The code does not work in a protected worksheet. If you want to keep the original cell formatting, please try the below code.The Reading Layout feature of Kutools is stable and handy, maybe you can download a free trial to have a try.
<div data-tag="code">Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 202001106
Static xRow
Static xColumn

Dim xWs As Worksheet
Dim xCRg, xCRg1, xRRg, xRRg1, xOHRg As Range
Dim xAHRORg, xAHRORg1 As Range
Dim xAWs As Worksheet
Dim xFNum As Integer
Dim xCll As Range

On Error Resume Next

Application.ScreenUpdating = False
pRow = Selection.Row
pColumn = Selection.Column

Set xWs = ActiveWorkbook.Worksheets.Item("AutoHighlightRAndC")
Set xAWs = Target.Worksheet
If xWs Is Nothing Then
Set xWs = ActiveWorkbook.Worksheets.Add
xWs.Name = "AutoHighlightRAndC"
xWs.Visible = xlSheetHidden
xAWs.Activate
End If

If xColumn <> "" Then
Set xCRg = Columns(xColumn)
xCRg.Interior.ColorIndex = xlNone
Set xCRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg.Count
Set xAHRORg1 = xAWs.Cells(xFNum, xColumn)
Set xAHRORg = xWs.Cells(xFNum, xColumn)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xCRg.Item(xFNum).Interior.ColorIndex = xWs.Columns(xColumn).Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(xRow)
xRRg.Interior.ColorIndex = xlNone
Set xRRg = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xRRg.Count
Set xAHRORg1 = xAWs.Cells(xRow, xFNum)
Set xAHRORg = xWs.Cells(xRow, xFNum)
xAHRORg1.Interior.ColorIndex = xAHRORg.Interior.ColorIndex
'xRRg.Item(xFNum).Interior.ColorIndex = xWs.Rows(xRow).Item(xFNum).Interior.ColorIndex
Next

End If

xRow = pRow
xColumn = pColumn

Set xCRg = Columns(pColumn)
Set xCRg1 = Intersect(xCRg.Worksheet.UsedRange, xCRg)
For xFNum = 1 To xCRg1.Count
Set xOHRg = xWs.Cells(xFNum, pColumn)
xOHRg.Interior.ColorIndex = xCRg1.Item(xFNum).Interior.ColorIndex
Next

Set xRRg = Rows(pRow)
Set xRRg1 = Intersect(xRRg.Worksheet.UsedRange, xRRg)

For xFNum = 1 To xRRg1.Count
Set xCll = xWs.Cells(pRow, xFNum)
xCll.Interior.ColorIndex = xRRg1.Item(xFNum).Interior.ColorIndex
Next
xCRg.Interior.ColorIndex = 34
xRRg.Interior.ColorIndex = 34
Application.ScreenUpdating = True
End Sub
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations