Hogyan lehet kiemelni az aktív sort és oszlopot az Excelben

  • Ossza Meg Ezt
Michael Brown

Ebben a bemutatóban 3 különböző módszert ismerhet meg arra, hogy dinamikusan kiemelje a kiválasztott cella sorát és oszlopát az Excelben.

Ha hosszú ideig nézeget egy nagyméretű munkalapot, előbb-utóbb elveszítheti a fonalat, hogy hol van a kurzor, és milyen adatokat néz. Hogy minden pillanatban pontosan tudja, hol van, vegye rá az Excelt, hogy automatikusan kiemelje az aktív sort és oszlopot! Természetesen a kiemelésnek dinamikusnak kell lennie, és minden alkalommal változni kell, amikor egy másik cellát választ ki. Lényegében ezt szeretnénk elérni:

    A kiválasztott cella sorának és oszlopának automatikus kiemelése VBA-val

    Ez a példa azt mutatja be, hogy hogyan lehet egy aktív oszlopot és sort programozottan kiemelni a VBA segítségével. Ehhez a SelectionChange eseménye a Munkalap tárgy.

    Először is, törölje a lap összes cellájának háttérszínét a ColorIndex tulajdonságát 0-ra. Ezután az aktív cella teljes sorát és oszlopát kiemeli azáltal, hogy beállítja a ColorIndex tulajdonságot a kívánt szín indexszámára.

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) If Target.Cells.Count> 1 Then Exit Sub Application.ScreenUpdating = False 'Az összes cella színének törlése Cells.Interior.ColorIndex = 0 With Target 'A kiválasztott cella sorának és oszlopának kiemelése .EntireRow.Interior.ColorIndex = 38 .EntireColumn.Interior.ColorIndex = 24 End With Application.ScreenUpdating = True End Sub.

    A kód testreszabása

    Ha a kódot a saját igényeidhez szeretnéd igazítani, ezek az apró tippek jól jöhetnek:

    • A mi példakódunk két különböző színt használ a fenti gifben - a 38-as színindexet a sorhoz és a 24-es színindexet az oszlophoz. a kiemelés színének megváltoztatása , csak cserélje ki ezeket tetszőleges ColorIndex-kódokra.
    • A sorok és oszlopok színezéséhez a ugyanúgy , használja ugyanazt a színindexszámot mindkettőhöz.
    • Csak a aktív sor , távolítsa el vagy kommentálja ki ezt a sort: .EntireColumn.Interior.ColorIndex = 24
    • Csak a aktív oszlop , távolítsa el vagy kommentálja ki ezt a sort: .EntireRow.Interior.ColorIndex = 38

    A kód hozzáadása a munkalaphoz

    Ahhoz, hogy a kódot egy adott munkalap hátterében csendben futtassa, nem a normál modulba, hanem az adott munkalaphoz tartozó kódablakba kell beillesztenie. Ehhez a következő lépéseket kell végrehajtania:

    1. A munkafüzetben nyomja meg az Alt + F11 billentyűkombinációt a VBA-szerkesztőhöz.
    2. A bal oldali Project Explorerben az összes megnyitott munkafüzet és munkalapjaik listája látható. Ha nem látja, a Ctrl + R billentyűkombinációval hozza elő a Project Explorer ablakot.
    3. Keresse meg a célmunkafüzetet. Microsoft Excel objektumok mappában, kattintson duplán arra a lapra, amelyen a kiemelést alkalmazni szeretné. Ebben a példában ez a 1. lap .
    4. A jobb oldali Kód ablakban illessze be a fenti kódot.
    5. Mentsd el a fájlt Makró-képes munkafüzet (.xlsm).

    Előnyök : minden a backendben történik; a felhasználó oldalán nincs szükség beállításokra/szokásokhoz való igazításra; minden Excel-verzióban működik.

    Hátrányok : van két lényeges hátránya, ami miatt ez a technika bizonyos körülmények között nem alkalmazható:

    • A kód törli a háttérszíneket Ha vannak színes cellái, ne használja ezt a megoldást, mert az egyéni formázás elveszik.
    • A kód végrehajtása blokkok a visszavonás funkció a lapon, és a hibás műveletet nem tudja visszacsinálni a Ctrl + Z billentyűkombinációval.

    Aktív sor és oszlop kiemelése VBA nélkül

    A legjobb, amit VBA nélkül a kijelölt sor és/vagy oszlop kiemelésére kaphat, az Excel feltételes formázása. Ennek beállításához hajtsa végre a következő lépéseket:

    1. Válassza ki az adatkészletet, amelyben a kiemelést el kell végezni.
    2. A Home lapon, a Stílusok csoport, kattintson a Új szabály .
    3. A Új formázási szabály párbeszédpanelen válassza a Egy képlet segítségével határozza meg, hogy mely cellákat kell formázni .
    4. A Formázza azokat az értékeket, ahol ez a képlet igaz mezőbe írja be az alábbi képletek egyikét:

      Kiemelni aktív sor :

      =CELL("row")=ROW()

      Kiemelni aktív oszlop :

      =CELL("col")=COLUMN()

      Kiemelni aktív sor és oszlop :

      =OR(CELL("row")=ROW(), CELL("col")= COLUMN())

      Minden képlet a CELL függvényt használja a kiválasztott cella sor- és oszlopszámának visszaadására.

    5. Kattintson a Formátum gomb megnyomásával váltson a Töltse ki a címet. lapot, és válassza ki a kívánt színt.
    6. Kattintson kétszer az OK gombra mindkét párbeszédablak bezárásához.

    Ha úgy érzi, hogy részletesebb utasításokra van szüksége, tekintse meg a Hogyan hozzunk létre képletalapú feltételes formázási szabályt?

    Ebben a példában a VAGY képletet választottuk az oszlop és a sor egyforma színű árnyékolásához. Ez kevesebb munkát igényel, és a legtöbb esetben megfelelő.

    Sajnos ez a megoldás nem olyan szép, mint a VBA, mert a VBA-hez szükséges a lap kézi újraszámítása (az F9 billentyű lenyomásával). Alapértelmezés szerint az Excel csak új adatok bevitele vagy a meglévő adatok szerkesztése után számítja újra a munkalapot, de nem, ha a kijelölés megváltozik. Tehát kijelöl egy másik cellát - nem történik semmi. Nyomja meg az F9-et - a lap frissül, a képlet újraszámolódik, és a kiemelés frissül.

    A munkalap automatikus újraszámításához, amikor a SelectionChange esemény bekövetkezik, ezt az egyszerű VBA-kódot a céllap kódmoduljában helyezheti el, ahogyan az előző példában elmagyaráztuk:

    Private Sub Worksheet_SelectionChange( ByVal Target As Range) Target.Calculate End Sub

    A kód a kijelölt tartomány/cella újraszámítását kényszeríti ki, ami viszont a CELL függvényt frissíti, és a feltételes formázást a változás tükrözésére kényszeríti.

    Előnyök : az előző módszerrel ellentétben ez a módszer nem befolyásolja a meglévő, kézzel alkalmazott formázást.

    Hátrányok : ronthatja az Excel teljesítményét.

    • Ahhoz, hogy a feltételes formázás működjön, rá kell kényszerítenie az Excelt, hogy a képletet minden egyes kijelölésváltáskor újraszámítsa (vagy manuálisan az F9 billentyűvel, vagy automatikusan a VBA-val). Az erőltetett újraszámítások lelassíthatják az Excel-t. Mivel a kódunk a kijelölést számítja újra, nem pedig a teljes lapot, a negatív hatás valószínűleg csak a nagyon nagy és összetett munkafüzeteken lesz észrevehető.
    • Mivel a CELL funkció az Excel 2007 és újabb verziókban érhető el, a módszer nem működik a korábbi verziókban.

    A kijelölt sor és oszlop kiemelése feltételes formázás és VBA használatával

    Ha az előző módszer jelentősen lelassítja a munkafüzetet, akkor másképp is megközelítheti a feladatot: ahelyett, hogy minden egyes felhasználói mozdulatnál újraszámolná a munkalapot, a VBA segítségével szerezze meg az aktív sor/oszlop számát, majd ezt a számot feltételes formázási képletek segítségével adja meg a ROW() vagy COLUMN() függvénynek.

    Ehhez az alábbi lépéseket kell követnie:

    1. Adjunk hozzá egy új üres lapot a munkafüzethez, és nevezzük el úgy, hogy Segítő lap Ennek a lapnak egyetlen célja, hogy két számot tároljon, amelyek a kijelölt cellát tartalmazó sort és oszlopot jelölik, így később biztonságosan elrejtheti a lapot.
    2. Szúrja be az alábbi VBA-t annak a munkalapnak a kódablakába, ahol a kiemelést szeretné megvalósítani. A részletes utasításokat lásd az első példánkban. 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

      A fenti kód az aktív sor és oszlop koordinátáit a "Segédlap" nevű lapra helyezi. Ha az 1. lépésben máshogy nevezte el a lapot, ennek megfelelően változtassa meg a munkalap nevét a kódban. A sorszámot az A2-re, az oszlopszámot pedig a B2-re írja.

    3. A célmunkalapon jelölje ki a teljes adatkészletet, és hozzon létre egy feltételes formázási szabályt az alábbi képletekkel. A fenti példában lépésről-lépésre történő útmutatás található.

    Most pedig részletesen foglalkozzunk a három fő felhasználási esettel.

    Hogyan lehet kiemelni az aktív sort

    Annak a sornak a kiemeléséhez, ahol a kurzor éppen áll, állítson be egy feltételes formázási szabályt ezzel a képlettel:

    =ROW()='Helper Sheet'!$A$2

    Ennek eredményeképpen a felhasználó világosan láthatja, hogy melyik sor van jelenleg kijelölve:

    Hogyan lehet kiemelni az aktív oszlopot

    A kiválasztott oszlop kiemeléséhez táplálja be az oszlop számát a COLUMN funkcióba ezzel a képlettel:

    =COLUMN()='Helper Sheet'!$B$2

    Mostantól a kiemelt oszlop lehetővé teszi, hogy kényelmesen és könnyedén olvassa a függőleges adatokat, teljes mértékben rájuk összpontosítva.

    Aktív sor és oszlop kiemelése

    Ahhoz, hogy a kijelölt sor és oszlop automatikusan ugyanolyan színűre árnyékolódjon, kombinálja a ROW() és COLUMN() függvényeket egy képletbe:

    =OR(ROW()='Segédlap'!$A$2, COLUMN()='Segédlap'!$B$2)

    A releváns adatok azonnal a fókuszba kerülnek, így elkerülheti a félreolvasást.

    Előnyök : optimalizált teljesítmény; minden Excel verzióban működik

    Hátrányok : a leghosszabb beállítás

    Így lehet kiemelni egy kiválasztott cella oszlopát és sorát az Excelben. Köszönöm, hogy elolvastad, és várom a jövő heti blogunkon!

    Gyakorlati munkafüzet letölthető

    Aktív sor és oszlop kiemelése (.xlsm fájl)

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.