INHOUDSOPGAWE
In hierdie tutoriaal sal jy 3 verskillende maniere leer om die ry en kolom van 'n geselekteerde sel in Excel dinamies uit te lig.
Wanneer jy 'n groot werkblad vir 'n lang tyd bekyk, kan jy kan uiteindelik tred verloor met waar jou wyser is en na watter data jy kyk. Om presies te weet waar jy op enige oomblik is, kry Excel om outomaties die aktiewe ry en kolom vir jou uit te lig! Natuurlik moet die verligting dinamies wees en verander elke keer as jy 'n ander sel kies. Dit is in wese wat ons beoog om te bereik:
Verlig ry en kolom van geselekteerde sel outomaties met VBA
Hierdie voorbeeld wys hoe jy 'n aktiewe kolom en ry programmaties met VBA kan uitlig. Hiervoor sal ons die SelectionChange -gebeurtenis van die Worksheet -voorwerp gebruik.
Eers maak jy die agtergrondkleur van alle selle op die blad skoon deur die
Pasmaak van die kode
As jy die kode vir jou behoeftes wil aanpas, kan hierdie klein wenke handig te pas kom:
- Ons voorbeeldkode gebruik twee verskillende kleure wat in die bogenoemde gif gedemonstreer word - kleurindeks 38 vir ry en 24 vir kolom. Om die hoogtepuntkleur te verander , vervang net dié met enige ColorIndex-kodes van jou keuse.
- Om die ry en kolom op selfde manier gekleur te kry, gebruik dieselfde kleurindeksnommer vir albei.
- Om net die aktiewe ry uit te lig, verwyder of maak kommentaar op hierdie reël: .EntireColumn.Interior.ColorIndex = 24
- Om net die aktiewe kolom uit te lig, verwyder of maak kommentaar op hierdie reël: .EntireRow.Interior.ColorIndex = 38
Hoe om die kode by te voeg na jou werkblad
Om die kode stilweg in die agtergrond van 'n spesifieke werkblad te laat uitvoer, moet jy dit in die kodevenster wat aan daardie werkblad behoort, invoeg, nie in die normale module nie. Voer hierdie stappe uit om dit te laat doen:
- In jou werkboek, druk Alt + F11 om by die VBA-redigeerder uit te kom.
- In die Project Explorer aan die linkerkant, Ek sal 'n lys van alle oop werkboeke en hul werkkaarte sien. As jy dit nie sien nie, gebruik die Ctrl + R-kortpad om die Project Explorer-venster te laat sien.
- Vind die teikenwerkboek. In sy Microsoft ExcelObjects -lêergids, dubbelklik op die vel waarin jy verligting wil toepas. In hierdie voorbeeld is dit Veld 1 .
- Plak die kode hierbo in die kodevenster aan die regterkant.
- Stoor jou lêer as Makro-geaktiveerde werkboek (.xlsm).
Voordele : alles word in die agterkant gedoen; geen aanpassings/aanpassings aan die gebruiker se kant nodig nie; werk in alle Excel-weergawes.
Nadele : daar is twee noodsaaklike nadele wat hierdie tegniek onder sekere omstandighede ontoepasbaar maak:
- Die kode vee agtergrond skoon kleure van alle selle in die werkblad. As jy enige gekleurde selle het, moenie hierdie oplossing gebruik nie, want jou pasgemaakte formatering sal verlore gaan.
- Deur hierdie kode uit te voer blokkeer die ongedaan-funksionaliteit op die blad, en jy sal nie 'n foutiewe handeling kan ongedaan maak deur Ctrl + Z te druk nie.
Merk aktiewe ry en kolom sonder VBA
Die beste wat jy kan kry om die geselekteerde ry en / of kolom sonder VBA is Excel se voorwaardelike formatering. Voer hierdie stappe uit om dit op te stel:
- Kies jou datastel waarin die uitlig gedoen moet word.
- Op die Tuis -oortjie, in die Style -groep, klik Nuwe reël .
- In die dialoogkassie Nuwe formateringreël , kies Gebruik 'n formule om te bepaal watter selle om formaat .
- In die Formaat waardes waar hierdie formuleis waar -kassie, voer een van hierdie formules in:
Om aktiewe ry uit te lig:
=CELL("row")=ROW()
Om aktiewe kolom uit te lig :
=CELL("col")=COLUMN()
Om aktiewe ry en kolom uit te lig:
=OR(CELL("row")=ROW(), CELL("col")= COLUMN())
Al die formules maak gebruik van die SEL-funksie om gee die ry-/kolomnommer van die geselekteerde sel terug.
- Klik die Formaat -knoppie, skakel oor na die Vul -oortjie en kies die kleur waarvan jy hou.
- Klik twee keer OK om toe te maak beide dialoogvensters.
As jy voel dat jy meer gedetailleerde instruksies benodig, sien asseblief Hoe om formule-gebaseerde voorwaardelike formateringreël te skep.
Vir hierdie voorbeeld het ons die OF gekies formule om beide die kolom en ry in dieselfde kleur te skadu. Dit verg minder werk en is geskik vir die meeste gevalle.
Ongelukkig is hierdie oplossing nie so lekker soos die VBA een nie, want dit vereis om die blad met die hand te herbereken (deur die F9-sleutel te druk). By verstek herbereken Excel 'n werkblad slegs nadat nuwe data ingevoer is of die bestaande een gewysig is, maar nie wanneer die keuse verander nie. So, jy kies 'n ander sel - niks gebeur nie. Druk F9 - die blad word verfris, die formule word herbereken en die verligting word opgedateer.
Om die werkblad outomaties herbereken te kry wanneer die SeleksieVerander gebeurtenis voorkom, kan jy hierdie eenvoudige VBA-kode in die kodemodule van jou teikenblad plaas soos verduidelik indie vorige voorbeeld:
Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End SubDie kode dwing die geselekteerde reeks/sel om te herbereken, wat op sy beurt die SEL-funksie dwing om op te dateer en die voorwaardelike formatering om te weerspieël die verandering.
Voordele : anders as die vorige metode, beïnvloed hierdie een nie die bestaande formatering wat jy met die hand toegepas het nie.
Nadele : kan Excel se werkverrigting versleg.
- Vir die voorwaardelike formatering om te werk, moet jy Excel dwing om die formule te herbereken by elke keuseverandering (óf met die hand met die F9-sleutel of outomaties met VBA). Gedwonge herberekenings kan jou Excel vertraag. Aangesien ons kode die seleksie eerder as 'n hele vel herbereken, sal 'n negatiewe effek heel waarskynlik slegs op werklik groot en komplekse werkboeke merkbaar wees.
- Aangesien die SEL-funksie in Excel 2007 en hoër beskikbaar is, sal die metode ' t werk in vroeëre weergawes.
Merk geselekteerde ry en kolom deur gebruik te maak van voorwaardelike formatering en VBA
In die geval dat die vorige metode jou werkboek aansienlik vertraag, kan jy die taak anders benader - eerder van die herberekening van 'n werkblad op elke gebruikerskuif, kry die aktiewe ry-/kolomnommer met behulp van VBA, en bedien dan daardie nommer aan die ROW() of COLUMN()-funksie deur voorwaardelike formateringformules te gebruik.
Om bereik dit,hier is die stappe wat jy moet volg:
- Voeg 'n nuwe leë vel by jou werkboek en noem dit Helperblad . Die enigste doel van hierdie blad is om twee nommers te stoor wat die ry en kolom verteenwoordig wat 'n geselekteerde sel bevat, sodat jy die blad veilig op 'n latere punt kan versteek.
- Voeg die onderstaande VBA in die kodevenster van die werkblad in. waar jy uitlig wil implementeer. Vir die gedetailleerde instruksies, verwys asseblief na ons eerste voorbeeld. Private Sub Worksheet_SelectionChange( ByVal Target As Range) Application.ScreenUpdating = False Worksheets( "Helper Sheet" ).Cells(2, 1) = Target.Row Worksheets( "Helper Sheet" ).Cells(2, 2) = Target.Column Application.ScreenUpdating = True End Sub
Die bogenoemde kode plaas die koördinate van die aktiewe ry en kolom op die blad genaamd "Helper Sheet". As jy jou blad in stap 1 anders benoem het, verander die werkbladnaam in die kode dienooreenkomstig. Die rynommer word na A2 geskryf en die kolomnommer na B2.
- In jou teikenwerkblad, kies die hele datastel, en skep 'n voorwaardelike formateringreël met die onderstaande formules. Die stap-vir-stap leiding word in die voorbeeld hierbo verskaf.
En nou, kom ons dek die drie hoofgebruiksgevalle in detail.
Hoe om aktiewe ry uit te lig
Om die ry te beklemtoon waar jou wyser op die oomblik geplaas is, stel 'n voorwaardelike formateringreël op met hierdieformule:
=ROW()='Helper Sheet'!$A$2
As gevolg hiervan kan die gebruiker duidelik sien watter ry tans gekies is:
Hoe om aktiewe kolom uit te lig
Om die geselekteerde kolom uit te lig, voer die kolomnommer na die KOLOM-funksie deur hierdie formule te gebruik:
=COLUMN()='Helper Sheet'!$B$2
Nou, 'n gemerkte kolom laat jou gemaklik en moeiteloos vertikale data lees wat geheel en al daarop fokus.
Hoe om aktiewe ry en kolom uit te lig
Om beide die geselekteerde ry en kolom outomaties in dieselfde kleur geskakeer te kry, kombineer die ROW() en COLUMN() funksies in een formule:
=OR(ROW()='Helper Sheet'!$A$2, COLUMN()='Helper Sheet'!$B$2)
Die relevante data word dadelik in fokus gebring, sodat jy dit kan vermy om dit verkeerd te lees.
Voordele : geoptimaliseerde werkverrigting; werk in alle Excel-weergawes
Nadele : die langste opstelling
Dit is hoe om die kolom en ry van 'n geselekteerde sel in Excel uit te lig. Ek bedank jou dat jy gelees het en sien uit daarna om jou volgende week op ons blog te sien!
Oefen werkboek om af te laai
Verlig aktiewe ry en kolom (.xlsm-lêer)