Skip to main content
Údar: Xiaoyang Athraithe Deiridh: 2023-12-01

D'fhéadfadh sé a bheith dúshlánach dul i ngleic le bileoga oibre fairsinge Excel agus tú lán le sonraí, agus is furasta súil a chailleadh ar d'áit nó ar luachanna míléite. Chun d'anailís sonraí a fheabhsú agus an seans earráidí a laghdú, tabharfaimid isteach 3 bhealach éagsúla chun aird a tharraingt go dinimiciúil ar shraith agus ar cholún cille roghnaithe in Excel. De réir mar a bhogann tú ó chill go cill, aistrítear an aibhsiú go dinimiciúil, ag soláthar leid amhairc soiléir agus iomasach chun tú a choinneáil dírithe ar na sonraí cearta mar a thaispeántar an taispeántas seo a leanas:

Uath-aibhsigh ró agus colún gníomhach in Excel


Físeán: Auto-aibhsigh ró agus colún gníomhach in Excel


Uath-aibhsigh ró agus colún gníomhach le cód VBA

Chun colún iomlán agus sraith na cille roghnaithe sa bhileog oibre reatha a aibhsiú go huathoibríoch, féadfaidh an cód VBA seo a leanas cabhrú leat an tasc seo a bhaint amach.

Céim 1: Oscail an bhileog oibre áit ar mhaith leat uath-aibhsiú as a chéile agus colún gníomhach

Céim 2: Oscail an eagarthóir modúl bileog VBA agus cóipeáil an cód

  1. Cliceáil ar dheis ar ainm na bileoige, agus roghnaigh Féach an cód ón roghchlár comhthéacs, féach an scáileán:
  2. Sa eagarthóir modúl bileog VBA oscail, cóipeáil agus greamaigh an cód seo a leanas isteach sa mhodúl bán. Féach ar an scáileán:
    Cód VBA: as a chéile agus colún de chill roghnaithe
    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
    
    Leideanna: Saincheap an cód
    • Chun an dath aibhsithe a athrú, níl le déanamh agat ach an luach RGB a mhodhnú sna scripteanna seo a leanas:
      rowRange.Interior.Color = RGB(248, 150, 171)
      colRange.Interior.Color = RGB(173, 233, 249)
    • Chun an tsraith iomlán de chill roghnaithe amháin a aibhsiú, bain amach an líne seo nó déan trácht air (cuir breacadh síos ag tosach na líne seo):
      colRange.Interior.Color = RGB(173, 233, 249)
    • Chun colún iomlán na cille roghnaithe amháin a aibhsiú, bain an líne seo amach nó déan trácht air (cuir breacadh síos ag tosach na líne seo):
      róRange.Interior.Color = RGB(248, 150, 171)

  3. Ansin, dún an fhuinneog eagarthóir VBA chun filleadh ar an mbileog oibre.

Toradh:

Anois, nuair a roghnaíonn tú cill, aibhsítear go huathoibríoch sraith iomlán agus colún na cille sin, agus aistríonn an buaicphointe go dinimiciúil de réir mar a athraíonn an chill roghnaithe mar a thaispeántar thíos:

Nótaí:
  • Glanfaidh an cód seo na dathanna cúlra ó na cealla go léir sa bhileog oibre, mar sin, seachain an réiteach seo a úsáid má tá cealla agat le dathú saincheaptha.
  • Má ritheann tú an cód seo díchumasófar an Undo gné sa bhileog, rud a chiallaíonn nach féidir leat aon bhotúin a aisiompú ach an cnaipe a bhrú Ctrl + Z. aicearra.
  • Ní oibreoidh an cód seo i mbileog oibre faoi chosaint.
  • Chun stop a chur le béim a chur ar ró agus colún na cille roghnaithe, beidh ort an cód VBA a cuireadh leis roimhe seo a bhaint. Tar éis sin, a athshocrú an aibhsiú trí chliceáil Baile > Líon dath > Gan aon líonadh.

Auto-aibhsigh ró agus colún gníomhach le cliceáil amháin Kutools

Ag tabhairt aghaidh ar theorainneacha cód VBA in Excel? Kutools le haghaidh Excel's Fócas Eangaí Is gné do réiteach idéalach! Deartha chun dul i ngleic le heasnaimh VBA, cuireann sé raon éagsúil de stíleanna béime ar fáil chun cur le d'eispéireas bileog. Agus é ar a chumas na stíleanna seo a chur i bhfeidhm ar gach leabhar saothair oscailte, Kutools áirithíonn sé próiseas bainistíochta sonraí atá éifeachtach go seasta agus tarraingteach ó thaobh amhairc de.

nótaí: Más mian leat é seo a úsáid Fócas Eangaí gné, le do thoil Íoslódáil agus a shuiteáil Kutools do Excel an chéad.

Tar éis a shuiteáil Kutools le haghaidh Excel, Cliceáil le do thoil Kutools > Fócas Eangaí chun an ghné seo a chumasú. Anois, is féidir leat a fheiceáil go bhfuil an tsraith agus an colún de chill ghníomhach aibhsithe láithreach. Aistrítear an buaicphointe seo go dinimiciúil le leanúint de réir mar a athraíonn tú do rogha cille. Féach ar an taispeántas thíos:

Buntáistí Príomha a bhaineann le Fócas Eangaí:
  • Caomhnaíonn sé bundathanna cúlra na gcill:
    Murab ionann agus an cód VBA, tá meas ag an ngné seo ar fhormáidiú reatha do bhileog oibre.
  • Inúsáidte i leatháin chosanta:
    Oibríonn an ghné seo gan uaim laistigh de bhileoga oibre cosanta, rud a fhágann go bhfuil sé iontach chun doiciméid íogaire nó roinnte a bhainistiú gan cur isteach ar shlándáil.
  • Ní chuireann sé isteach ar an bhfeidhm Cealaigh:
    Leis an ngné seo, coinníonn tú rochtain iomlán ar fheidhmiúlacht cealaithe Excel. Cinntíonn sé seo gur féidir leat athruithe a chur ar ais go héasca, ag cur sraith sábháilteachta le do ionramháil sonraí.
  • Feidhmíocht chobhsaí le sonraí móra:
    Tá an ghné seo deartha chun tacair shonraí mhóra a láimhseáil go héifeachtach, ag cinntiú feidhmíocht chobhsaí fiú i scarbhileoga casta agus sonraí-dian.
  • Stíleanna iomadúla aibhsithe:
    Cuireann an ghné seo roghanna éagsúla béime ar fáil, rud a ligeann duit stíleanna agus dathanna éagsúla a roghnú chun do chill ghníomhach as a chéile, colún nó as a chéile agus colún a sheasamh ar bhealach is fearr a oireann do do shainroghanna agus do riachtanais.
Leid:

Uath-aibhsigh ró agus colún gníomhach le Formáidiú Coinníollach

In Excel, is féidir leat Formáidiú Coinníollach a bhunú freisin chun an tsraith agus an colún gníomhach a aibhsiú go huathoibríoch. Chun an ghné seo a shocrú, lean na céimeanna seo le do thoil:

Céim 1: Roghnaigh an raon sonraí

Ar dtús, roghnaigh an raon cealla ar mhaith leat an ghné seo a chur i bhfeidhm. D'fhéadfadh sé seo a bheith ina bhileog oibre iomlán nó ina thacar sonraí ar leith. Anseo, roghnóidh mé an bhileog oibre iomlán.

Céim 2: Formáidiú Coinníollach Rochtana

cliceáil Baile > Formáidiú Coinníollach > Riail Nua, féach ar an scáileán:

Céim 3: Socraigh na hoibríochtaí sa Riail Formáidiú Nua

  1. sa Riail Nua Formáidithe bosca dialóige, roghnaigh Úsáid foirmle chun a fháil amach cé na cealla atá le formáidiú ó na Roghnaigh Cineál Riail bosca liosta.
  2. sa Luachanna formáide nuair atá an fhoirmle seo fíor bosca, cuir isteach ceann de na foirmlí seo, sa sampla seo, cuirfidh mé an tríú foirmle i bhfeidhm chun aird a tharraingt ar an tsraith agus an colún gníomhach.
    Chun ró ghníomhach a aibhsiú:
    =CELL("row")=ROW()
    Chun an colún gníomhach a aibhsiú:
    =CELL("col")=COLUMN()
    Chun ró agus colún gníomhach a aibhsiú:
    =OR(CELL("row")=ROW(), CELL("col")= COLUMN())
  3. Ansin, cliceáil déanta cnaipe.
  4. Seo a leanas Cealla Formáid bosca dialóige, faoin Líon tab, roghnaigh dath amháin chun an tsraith agus an colún gníomhach a aibhsiú de réir mar is gá duit, féach an scáileán:
  5. Ansin, cliceáil OK > OK chun na dialóga a dhúnadh.

Toradh:

Anois, is féidir leat a fheiceáil go bhfuil an colún iomlán agus an tsraith chill A1 aibhsithe ag an am céanna. Chun an t-aibhsiú seo a chur i bhfeidhm ar chill eile, níl le déanamh ach cliceáil ar an gcill atá uait agus brúigh an F9 eochair chun an bhileog a athnuachan, a leagfaidh béim ansin ar an gcolún iomlán agus ar an tsraith iomlán den chill nua-roghnaithe.

Leid: 
  • Go deimhin, cé go dtugann an cur chuige Formáidiú Coinníollach le haghaidh aibhsiú in Excel réiteach, níl sé chomh gan uaim le húsáid VBA agus Fócas Eangaí gné. Leis an modh seo is gá an leathán a athríomh de láimh (a bhaintear amach trí bhrú an F9 eochair).
    Chun do bhileog oibre a athríomh go huathoibríoch, is féidir leat cód simplí VBA a ionchorprú i modúl cód do spriocbhileog. Déanfaidh sé seo an próiseas athnuachana a uathoibriú, ag cinntiú na nuashonruithe béime láithreach agus tú ag roghnú cealla éagsúla gan an cnaipe a bhrú F9 eochair. Cliceáil ar dheis ar ainm na bileoige, agus ansin roghnaigh Féach an cód ón roghchlár comhthéacs. Ansin cóipeáil agus greamaigh an cód seo a leanas isteach sa mhodúl leatháin:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Target.Calculate
    End Sub
    
  • Caomhnaíonn an Formáidiú Coinníollach an fhormáidiú reatha a chuir tú i bhfeidhm de láimh ar do bhileog oibre.
  • Is eol go bhfuil an Fhormáidiú Coinníollach luaineach, go háirithe nuair a chuirtear i bhfeidhm é ar thacair shonraí an-mhóra. D'fhéadfadh go gcuirfí moill ar fheidhmíocht do leabhar oibre dá úsáid fhorleathan, rud a chuireann isteach ar éifeachtúlacht próiseála sonraí agus loingseoireachta.
  • Níl feidhm CELL ar fáil ach i leaganacha Excel 2007 agus níos déanaí, níl an modh seo comhoiriúnach le leaganacha níos luaithe de Excel.

Comparáid idir na Modhanna thuas

Gné Cód VBA Formáidiú Coinníollach Kutools le haghaidh Excel
Caomhnaigh dath cúlra na cille Uimh Is ea Is ea
Tacaíochtaí Cealaigh Uimh Is ea Is ea
Cobhsaí i dtacar sonraí móra Uimh Uimh Is ea
Inúsáidte i leatháin chosanta Uimh Is ea Is ea
Baineann sé seo le gach leabhar oibre oscailte Bileog reatha amháin Bileog reatha amháin Gach leabhar oibre oscailte
Teastaíonn athnuachan láimhe (F9) Uimh Is ea Uimh

Sin Críochnaíonn ár dtreoir maidir le conas aird a tharraingt ar an gcolún agus an tsraith de chill roghnaithe in Excel. Má tá suim agat níos mó leideanna agus cleasanna Excel a fhiosrú, cuireann ár suíomh Gréasáin na mílte ranganna teagaisc ar fáil, le do thoil cliceáil anseo chun iad a rochtain. Go raibh maith agat as léamh, agus táimid ag tnúth le tuilleadh faisnéise cabhrach a sholáthar duit amach anseo!


Airteagail ghaolmhara:

  • Sraith agus colún uathoibríoch-aibhsithe de chill ghníomhach
  • Nuair a fhéachann tú ar bhileog oibre mór le go leor sonraí, b’fhéidir gur mhaith leat aird a tharraingt ar an tsraith agus an colún roghnaithe cille ionas gur féidir leat na sonraí a léamh go héasca agus go iomasach chun mí-léamh a sheachaint. Anseo, is féidir liom roinnt cleasanna suimiúla a thabhairt isteach chun aird a tharraingt ar as a chéile agus colún na cille reatha, nuair a athraítear an chill, aibhsítear colún agus as a chéile na cille nua go huathoibríoch.
  • Aibhsigh gach ró nó colún eile in Excel
  • I mbileog mhór oibre, feabhsaítear infheictheacht agus inléiteacht na sonraí trí aibhsiú nó líonadh gach eile nó gach nú sraith nó colún. Ní hamháin go bhfuil cuma níos néata ar an mbileog oibre ach cuidíonn sé leat na sonraí a thuiscint níos tapúla freisin. San Airteagal seo, déanfaimid tú a threorú trí mhodhanna éagsúla chun gach sraith nó colún eile nó an nú sraith eile a scáthú, ag cabhrú leat do shonraí a chur i láthair ar bhealach níos tarraingtí agus níos simplí.
  • Aibhsigh an tsraith iomlán / iomlán agus scrollaigh
  • Má tá bileog oibre mhór agat le ilcholúin, beidh sé deacair duit idirdhealú a dhéanamh idir sonraí ar an tsraith sin. Sa chás seo, is féidir leat aird a tharraingt ar an tsraith iomlán de chill ghníomhacha ionas gur féidir leat na sonraí sa tsraith sin a fheiceáil go tapa agus go héasca nuair a scrollaíonn tú síos an scrollbharra cothrománach. San alt seo, labhróidh mé faoi roinnt cleasanna duit chun an fhadhb seo a réiteach .
  • Aibhsigh sraitheanna bunaithe ar liosta anuas
  • Labhróidh an t-alt seo faoi conas sraitheanna a aibhsiú bunaithe ar an liosta anuas, tóg an pictiúr seo a leanas mar shampla, nuair a roghnaíonn mé “In Progress” ón liosta anuas i gcolún E, ní mór dom aird a tharraingt ar an tsraith seo le dath dearg, nuair a dhéanaim roghnaigh “Críochnaithe” ón liosta anuas, ní mór dom aird a tharraingt ar an tsraith seo le dath gorm, agus nuair a roghnaíonn mé “Not Started”, úsáidfear dath glas chun aird a tharraingt ar an tsraith.
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