Ugrás a tartalomra

A kiterjedt, adatokkal teli Excel-munkalapokon való navigálás kihívást jelenthet, és könnyen elveszítheti a helyét, vagy félreolvashatja az értékeket. Az adatelemzés javítása és a hibák esélyének csökkentése érdekében 3 különböző módot mutatunk be a kiválasztott cella sorának és oszlopának dinamikus kiemelésére az Excelben. Ahogy celláról cellára mozog, a kiemelés dinamikusan eltolódik, világos és intuitív vizuális jelzést adva, hogy a megfelelő adatokra összpontosítson, ahogy az alábbi bemutatón látható:

Az aktív sor és oszlop automatikus kiemelése az Excelben


Videó: Az aktív sor és oszlop automatikus kiemelése az Excelben


Az aktív sor és oszlop automatikus kiemelése VBA-kóddal

A kiválasztott cella teljes oszlopának és sorának automatikus kiemeléséhez az aktuális munkalapon, a következő VBA-kód segíthet a feladat végrehajtásában.

1. lépés: Nyissa meg a munkalapot, ahol automatikusan ki szeretné jelölni az aktív sort és oszlopot

2. lépés: Nyissa meg a VBA-lapmodul-szerkesztőt, és másolja ki a kódot

  1. Kattintson jobb gombbal a lap nevére, és válassza ki Kód megtekintése a helyi menüből lásd a képernyőképet:
  2. A megnyitott VBA-lapmodul-szerkesztőben másolja ki és illessze be a következő kódot az üres modulba. Lásd a képernyőképet:
    VBA-kód: a kijelölt cella sorának és oszlopának automatikus kiemelése
    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
    
    Tippek: A kód testreszabása
    • A kiemelés színének megváltoztatásához egyszerűen módosítania kell az RGB értéket a következő szkriptekben:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Ha csak a kijelölt cella teljes sorát szeretné kiemelni, távolítsa el vagy írja be megjegyzéssel (adjon aposztrófot a sor elején):
      colRange.Interior.Color = RGB(173, 233, 249)
    • Ha csak a kijelölt cella teljes oszlopát szeretné kiemelni, távolítsa el vagy írja be megjegyzéssel (adjon aposztrófot a sor elején):
      sortartomány.Belső.Szín = RGB(248, 150, 171)

  3. Ezután zárja be a VBA-szerkesztő ablakát, hogy visszatérjen a munkalaphoz.

Eredmény:

Most, amikor kiválaszt egy cellát, a cella teljes sora és oszlopa automatikusan kiemelésre kerül, és a kiemelés dinamikusan eltolódik, ahogy a kijelölt cella változik, ahogy az alábbi bemutatón látható:

Megjegyzések:
  • Ez a kód törli a háttérszíneket a munkalap összes cellájából, ezért ne használja ezt a megoldást, ha egyedi színezésű cellái vannak.
  • A kód futtatása letiltja a Kibont funkció a lapon, ami azt jelenti, hogy a hibákat nem lehet visszafordítani a gomb megnyomásával Ctrl + Z parancsikon.
  • Ez a kód nem fog működni védett munkalapon.
  • A kijelölt cella sorának és oszlopának kiemelésének leállításához el kell távolítania a korábban hozzáadott VBA-kódot. Ezt követően a kiemelés visszaállításához kattintással Kezdőlap > Kitöltőszín > Nincs kitöltés.

Az aktív sor és oszlop automatikus kiemelése a Kutools egyetlen kattintásával

Szembesül a VBA-kód korlátaival az Excelben? Kutools az Excel számára's Rács fókusz funkció az Ön ideális megoldása! A VBA hiányosságainak orvoslására tervezték, és a kiemelési stílusok széles skáláját kínálja a lapozási élmény fokozása érdekében. Mivel képes ezeket a stílusokat az összes nyitott munkafüzetre alkalmazni, Kutools egyenletesen hatékony és tetszetős adatkezelési folyamatot biztosít.

Megjegyzések: Ha ezt szeretné használni Rács fókusz funkció, kérem töltse le és telepítse a Kutools for Excel alkalmazást először.

Telepítése után Kutools az Excel számára, Kérjük, kattintson Kutools > Rács fókusz hogy engedélyezze ezt a funkciót. Most láthatja, hogy az aktív cella sora és oszlopa azonnal ki van jelölve. Ez a kiemelés dinamikusan eltolódik a cellakijelölés megváltoztatásakor. Tekintse meg az alábbi bemutatót:

A Grid Focus funkció főbb előnyei:
  • Megőrzi az eredeti cella háttérszíneit:
    A VBA-kóddal ellentétben ez a funkció tiszteletben tartja a munkalap meglévő formázását.
  • Védett lapokban használható:
    Ez a funkció zökkenőmentesen működik a védett munkalapokon, így ideális az érzékeny vagy megosztott dokumentumok kezelésére a biztonság veszélyeztetése nélkül.
  • Nincs hatással a Visszavonás funkcióra:
    Ezzel a funkcióval teljes hozzáférést biztosít az Excel visszavonási funkcióihoz. Ez biztosítja, hogy könnyen visszaállíthassa a módosításokat, és egy biztonsági réteget adjon az adatok kezeléséhez.
  • Stabil teljesítmény nagy adatmennyiséggel:
    Ezt a funkciót a nagy adatkészletek hatékony kezelésére tervezték, stabil teljesítményt biztosítva még összetett és adatigényes táblázatok esetén is.
  • Több kiemelési stílus:
    Ez a funkció számos kiemelési lehetőséget kínál, lehetővé téve, hogy különböző stílusok és színek közül válasszon, hogy az aktív sor, oszlop vagy sor és oszlop az Ön preferenciáinak és igényeinek leginkább megfelelő módon tűnjön ki.
Tipp:

Az aktív sorok és oszlopok automatikus kiemelése feltételes formázással

Az Excelben a Feltételes formázást is beállíthatja az aktív sor és oszlop automatikus kiemeléséhez. A funkció beállításához kövesse az alábbi lépéseket:

1. lépés: Válassza ki az adattartományt

Először válassza ki azt a cellatartományt, amelyre alkalmazni szeretné ezt a funkciót. Ez lehet a teljes munkalap vagy egy adott adatkészlet. Itt kijelölöm a teljes munkalapot.

2. lépés: A feltételes formázás elérése

Kattints Kezdőlap > Feltételes formázás > Új szabály, lásd a képernyőképet:

3. lépés: Állítsa be a műveleteket az Új formázási szabályban

  1. A Új formázási szabály párbeszédpanelen válassza a lehetőséget Képlet segítségével határozza meg, hogy mely cellákat formázza tól Válasszon egy szabálytípust lista mezőbe.
  2. A Formázza az értékeket, ahol ez a képlet igaz mezőbe írja be az egyik képletet, ebben a példában a harmadik képletet fogom alkalmazni az aktív sor és oszlop kiemelésére.
    Az aktív sor kiemeléséhez:
    =CELL("row")=ROW()
    Az aktív oszlop kiemeléséhez:
    =CELL("col")=COLUMN()
    Az aktív sor és oszlop kiemelése:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Ezután kattintson a gombra kialakított gombot.
  4. Az alábbi Cellák formázása párbeszédpanel alatt Tölt lapon válasszon egy színt az aktív sor és oszlop igény szerinti kiemeléséhez, lásd a képernyőképet:
  5. Ezután kattintson a gombra OK > OK a párbeszédablakok bezárásához.

Eredmény:

Most láthatja, hogy az A1 cella teljes oszlopa és sora egyszerre ki van emelve. Ha ezt a kiemelést egy másik cellára szeretné alkalmazni, egyszerűen kattintson a kívánt cellára, és nyomja meg a gombot F9 gombot a lap frissítéséhez, amely ezután kiemeli az újonnan kiválasztott cella teljes oszlopát és sorát.

Tipp: 
  • Valóban, bár a feltételes formázási megközelítés az Excel kiemelésére megoldást kínál, ez nem olyan zökkenőmentes, mint a VBA és a Rács fókusz funkció. Ez a módszer szükségessé teszi a lap kézi újraszámítását (ami a gomb megnyomásával érhető el F9 kulcs).
    A munkalap automatikus újraszámításának engedélyezéséhez beépíthet egy egyszerű VBA-kódot a céllap kódmoduljába. Ez automatizálja a frissítési folyamatot, biztosítva, hogy a kiemelés azonnal frissüljön, amikor különböző cellákat választ ki a gomb megnyomása nélkül F9 kulcs. Kattintson jobb gombbal a lap nevére, majd válassza ki Kód megtekintése a helyi menüből. Ezután másolja ki és illessze be a következő kódot a lapmodulba:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • A Feltételes formázás megőrzi a munkalapon manuálisan alkalmazott formázást.
  • A feltételes formázásról ismert, hogy ingadozó, különösen, ha nagyon nagy adatkészletekre alkalmazzák. Kiterjedt használata potenciálisan lelassíthatja a munkafüzet teljesítményét, ami befolyásolja az adatfeldolgozás és a navigáció hatékonyságát.
  • A CELL funkció csak az Excel 2007-es és újabb verzióiban érhető el, ez a módszer nem kompatibilis az Excel korábbi verzióival.

A fenti módszerek összehasonlítása

Funkció VBA kód Feltételes formázás Kutools az Excel számára
A cella háttérszínének megőrzése Nem Igen Igen
Támogatja a visszavonást Nem Igen Igen
Stabil nagy adatkészletekben Nem Nem Igen
Védett lapokban használható Nem Igen Igen
Minden nyitott munkafüzetre vonatkozik Csak az aktuális lap Csak az aktuális lap Minden nyitott munkafüzet
Kézi frissítést igényel (F9) Nem Igen Nem

Ezzel véget is ért az útmutatónk arról, hogyan jelölje ki a kiválasztott cella oszlopát és sorát az Excelben. Ha további Excel-tippeket és trükköket szeretne felfedezni, webhelyünk több ezer oktatóanyagot kínál, kérjük, ide kattintva érheti el őket. Köszönjük, hogy elolvasta, és a jövőben is további hasznos információkkal szolgálunk!


Kapcsolódó cikkek:

  • Az aktív cella sorának és oszlopának automatikus kiemelése
  • Ha megnéz egy nagy, sok adatot tartalmazó munkalapot, érdemes kiemelni a kijelölt cella sorát és oszlopát, hogy az adatokat könnyen és intuitív módon olvassa el, elkerülve a helytelen olvasást. Itt bemutathatok néhány érdekes trükköt az aktuális cella sorának és oszlopának kiemeléséhez, amikor a cella megváltozik, az új cella oszlopa és sora automatikusan kiemelődik.
  • Jelölje ki az Excel minden második sorát vagy oszlopát
  • Egy nagy munkalapon minden második vagy minden n-edik sor vagy oszlop kiemelése vagy kitöltése javítja az adatok láthatóságát és olvashatóságát. Ez nem csak a munkalapot szebbé teszi, hanem segít az adatok gyorsabb megértésében is. Ebben a cikkben különféle módszereket mutatunk be, amelyek segítségével minden második vagy n-edik sort vagy oszlopot árnyékolhat, így az adatokat vonzóbb és egyszerűbb módon jelenítheti meg.
  • Görgetés közben jelölje ki a teljes / teljes sort
  • Ha nagy, több oszlopos munkalapja van, akkor nehéz lesz megkülönböztetnie az adott sor adatait. Ebben az esetben kiemelheti az aktív cella teljes sorát, hogy gyorsan és egyszerűen megtekinthesse az adott sor adatait, amikor lefelé görget a vízszintes gördítősávon. Ez a cikk néhány trükkel fog beszélni a probléma megoldására. .
  • Emelje ki a sorokat a legördülő lista alapján
  • Ez a cikk arról fog beszélni, hogyan lehet kiemelni a sorokat a legördülő lista alapján, például a következő képernyőképet készíteni, amikor az E oszlop legördülő listájából az „Folyamatban” lehetőséget választom, ezt a sort piros színnel kell kiemelnem, amikor válassza a „Befejezett” lehetőséget a legördülő listából, ezt a sort kék színnel kell kiemelnem, és amikor a „Nem indult” lehetőséget választom, akkor zöld színnel jelölik a sort.
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