Telefonszámunk: 1-472-0679

Excel 2013

Haladó szűrés sorozat – Ismétlődések eltávolítása

A haladó szűrő eszközt érdemtelenül kevesen ismerik. Többet érdemelne. Emiatt egy sorozatot indítok a lehetőségeiről. Volt már szó korábban róla, de úgy döntöttem, még egyszer nekifutok. A haladó szűrőt speciális vagy irányított szűrőnek is szokták nevezni. Az autoszűrővel egy lépésben nem megoldható, összetettebb szűrésekhez, illetve a gyakran ismétlődő, akár egyszerűbb szűrésekhez használjuk.

Lényege, hogy a szűrendő táblázaton kívül egy külön tartományban fogalmazzuk meg a szűrési feltételeket, majd a haladó szűrő párbeszédében megadjuk a feltételtartomány helyét,  pár dolgot még beállítunk, és kész!

A haladó szűrő előnyei

  • Bonyolultabb szűrésekre is alkalmas egy lépésben
  • Az eredmény akár azonnal új helyre másolható, akár másik lapra
  • A szűrési feltételeket tároljuk, nem kell folyton megcsinálni, kitalálni
  • Az eredményből kiszűrhetjük a szükségtelen oszlopokat (Projekció)
  • Szűrés közben az oszlopok sorrendjét is módosíthatjuk

A cikksorozat tagjai

Ismétlődések eltávolítása (Remove Duplicates)

Gyakori feladat, hogy egy listából, amiben ismétlődő elemek is vannak, képezni kell egy olyan listát, amiben minden elem csak egyszer szerepel. Ezt a listát hívjuk egyedi (Unique) listának.

egyedi-lista

Erre a feladatra több megoldás is létezik.

  • Haladó szűrés speciális esete
  • PVOT tábla speciális esete
  • Excel 2007-től külön gomb van rá

Melyiket használjam?

Ha Excel 2007-nél korábbi verzió esetén az első két megoldás jöhet számításba. Ha Excel 2007 után vagyunk, akkor viszont attól függ, hogy a táblázat egy vagy több oszlopból áll, illetve attól, hogy az eredeti listát is meg szeretnénk-e őrizni. Az is szempont lehet, hogy a folyamatot esetleg akarjuk-e automatizálni, azaz makrózni.

Megoldás a haladó szűrővel

  1. Kijelöljük az eredeti listát
  2. Adatok->Speciális (Advanced) szűrő
  3. Nem adunk feltételt (ha minden elem kell)
  4. Beállítjuk, hogy helyben vagy más helyre szűrjön
  5. Csak az egyedi rekordok (Unique records only)
    csak-az egyedi-rekordok

Minden egyéb pontosan ugyanúgy működik, mint ahogy a többi leírásban olvashattad, azaz szűrhető helyben is, az eredmény tehető azonnal másik munkalapra, használhatók nevek a forrásokban, és akár még feltétel is adható.

Letölthető munkafüzet

iranyitott-szuro-peldak

Mindez működés közben

A videóban természetesen szó lesz a másik két megoldási lehetőségről is

  • Egyedi lista készítése

Tovább...

Haladó szűrés sorozat – Eredmény másik munkalapra

A haladó szűrő eszközt érdemtelenül kevesen ismerik. Többet érdemelne. Emiatt egy sorozatot indítok a lehetőségeiről. Volt már szó korábban róla, de úgy döntöttem, még egyszer nekifutok. A haladó szűrőt speciális vagy irányított szűrőnek is szokták nevezni. Az autoszűrővel egy lépésben nem megoldható, összetettebb szűrésekhez, illetve a gyakran ismétlődő, akár egyszerűbb szűrésekhez használjuk.

Lényege, hogy a szűrendő táblázaton kívül egy külön tartományban fogalmazzuk meg a szűrési feltételeket, majd a haladó szűrő párbeszédében megadjuk a feltételtartomány helyét,  pár dolgot még beállítunk, és kész!

A haladó szűrő előnyei

  • Bonyolultabb szűrésekre is alkalmas egy lépésben
  • Az eredmény akár azonnal új helyre másolható, akár másik lapra
  • A szűrési feltételeket tároljuk, nem kell folyton megcsinálni, kitalálni
  • Az eredményből kiszűrhetjük a szükségtelen oszlopokat (Projekció)
  • Szűrés közben az oszlopok sorrendjét is módosíthatjuk

A cikksorozat tagjai

Az eredmény másik munkalapra egyből?

Talán van, aki tapasztalta, hogy a haladó szűrő nem engedi a szűrés eredményét egyből másik munkalapra tenni. Emiatt azt előbb az aktuális munkalapra, majd onnan másolva és beillesztve lehet áttenni más lapra.

Íme a hibaüzenet

halado-szuro-mas-munkalap-hibauzenet

Hosszú évekig bosszantott, hogy miért van ez így, míg egyszer csak rátaláltam a megoldásra. Ami mindig is ott volt, csak nem gondolkodtam, hanem csak idegeskedtem. Szóval a megoldás benne van az üzenetben. Ha csak az aktív munkalapra kerülhetnek az eredmények, akkor mi lenne, ha az egészet egy üres munkalapról indítom, és az adatforrást választom ki másik lapról (mert azt lehet)?

halado-szuro-mas-munkalap

A fenti beállításban a Listatartomány másik lapról lett kijelölve, a Szűrőtartomány és a Hová másolja pedig az aktuálisról.

És működik!

Letölthető munkafüzet

iranyitott-szuro-peldak

Lássuk a videót!

  • Haladó szűrés eredménye másik munkalapra

Tovább...

Haladó szűrés sorozat – Játék az oszlopokkal

Az haladó szűrő eszközt érdemtelenül kevesen ismerik. Többet érdemelne. Emiatt egy sorozatot indítok a lehetőségeiről. Volt már szó korábban róla, de úgy döntöttem, még egyszer nekifutok. A haladó szűrőt speciális vagy irányított szűrőnek is szokták nevezni. Az autoszűrővel egy lépésben nem megoldható, összetettebb szűrésekhez, illetve a gyakran ismétlődő, akár egyszerűbb szűrésekhez használjuk.

Lényege, hogy a szűrendő táblázaton kívül egy külön tartományban fogalmazzuk meg a szűrési feltételeket, majd a haladó szűrő párbeszédében megadjuk a feltételtartomány helyét,  pár dolgot még beállítunk, és kész!

A haladó szűrő előnyei

  • Bonyolultabb szűrésekre is alkalmas egy lépésben
  • Az eredmény akár azonnal új helyre másolható, akár másik lapra
  • A szűrési feltételeket tároljuk, nem kell folyton megcsinálni, kitalálni
  • Az eredményből kiszűrhetjük a szükségtelen oszlopokat (Projekció)
  • Szűrés közben az oszlopok sorrendjét is módosíthatjuk

A cikksorozat tagjai

Csak bizonyos oszlopok lekérése az eredménybe (projekció)

Ez a művelet elvileg adatbázis-kezeléshez kapcsolódik, és szűréssel nem szoktak ilyesmit csinálni, de a haladó szűrő tudja ezt is. Tehát adott az alap táblázatunk:

alaptabla-iranyitott szurohoz

Ha semmi mást nem szeretnénk, csak kivenni néhány tetszőleges oszlopot, akkor ezt kell tenni:

  1. Egy üres területre (praktikusan az alaptábla mellé (de alá is lehet), másoljuk ki  a kívánt oszlopok neveit(mezőnevek)  abban a sorrendben, ahogy szeretnénk őket
  2. Haladó szűrő indul
    iranyitott-szures-menu
  3. Más helyre másol, Feltétel nincs, és célként jelöljük ki az előkészített mezőneveket!
    iranyitott-szuro-projekcio
  4. Eredményként csak a kiválasztott három oszlopot kapjuk.

Ezzel a módszerrel egyszerűen lehet oszlop sorrendet is változtatni. Nincs más dolgunk, mint felsorolni az összes mezőt, csak a számunkra kedvező sorrendben, majd futtatni a haladó szűrőt.

Szűrés és projekció egyben

Itt csak az lesz a különbség, hogy megadjuk a kritérium tartományt is, azaz nem marad üresen.

iranyitott-szures-projekcio

Letölthető munkafüzet

iranyitott-szuro-peldak

És persze a kapcsolódó videó

  • Projekció haladó szűrővel

Tovább...

Feltétel-tartomány haladó szűréshez és adatbázis függvényekhez

Adatlekérdezések és feldolgozás során leggyakrabban valamilyen feltételnek megfelelő adatrekordokkal végzünk műveletet, tehát az eredeti adattáblát feltétel szerint szűkítjük. A feltételt meg kell valahogy adni vagy fogalmazni.

Ennek a témának egy összefoglaló anyagát már bemutattam, emlékeztetőként, vagy gondolatébresztőként érdemes megnézni.

https://excel-bazis.hu/tutorial/halado-szuresi-technikak-szurooszlop-vagy-iranyitott-szuro

Most a feltételtartomány fogalmát és gyakorlati példáit nézzük meg. Ez az alapelv aztán visszaköszön az MS QUERY vagy az ACCESS lekérdező varázslójában.

Tehát van egy adattáblánk

Alaptabla

Ehhez a táblához szeretnénk szűrőfeltételeket létrehozni. A legegyszerűbb szűrés az Autoszűrő lenne, talán mindenki ismeri,most nem térek ki rá. Ott oszloponként állíthatunk szűrési feltételt. Minden további feltétel tovább szűkíti a találati listát, mert az egymás mellett lévő feltételek ÉS kapcsolatba kerülnek, emiatt az eredmény rekordok azok lesznek, amelyek minden beállított feltételnek megfelelek.

Vannak azonban olyan esetek, amelyekhez nem tudunk beállítani az Autoszűrővel egy lépésben feltételt.

Autoszűrő fricska

Szűrjük a Budapesti férfiakat és a Miskolci nőket egy lépésben!

A Település oszlopban még csak beállítom, hogy a Budapestieket meg a Miskolciakat is mutassa, de a Nem oszlopban akkor mit állítsak, hogy a fenti feltétel teljesüljön?

Na, ilyen esetekben szokták két lépésben megoldani a feladatot. Szűrik először az egyik adagot, kimásolják egy új lapra, majd a másikra is szűrnek, és az előző eredmény után másolják.

Nem valami jó, viszont rossz. Legalább is nem optimális.

A megoldás: Kritérium tartomány(Criteria Range)  és irányított szűrő (Advanced Filter)

A kritérium tartomány az alap adattáblától külön lévő kis táblázat, amiben speciális módon meg tudjuk fogalmazni a feltételeket, és ezt a tartományt adjuk paraméterként az Irányított szűrőnek és az összes adatbázis függvénynek.

Az alap feltétel tartományok a táblázat mezőneveiből és a feltételekből állnak. A működése egyszerű. A feltételeket soronként értékeli ki az Excel. Ami egymás mellett van, az ÉS kapcsolatot jelöl, ami egymás alatt van, az pedig VAGY kapcsolatot.

Alap szűrőtartományok. Ezeket Autoszűrővel is lehet

alap-szurok

 

Figyeld meg, hogy a kritériumtartományokban használt fejléc szövegek pontosan megegyeznek az adattábla fejléc szövegeivel. Ha bármelyik eltér, akkor biztosan hibás eredményt fogsz kapni.

Ezért én másolni szoktam őket.

Összetettebb feltételek, amiket autoszűrővel nem lehet

halado-szuro-felteteltartomany

A szöveges feltételeknél nagyon fontos, hogy ha csak így adjuk meg, akkor azokat szűri, amik így kezdődnek. Tehát a szűrés eredményében lesznek Vác mellett a Vácrátótiak vagy Miskolc mellett a Miskolctapolcaiaik is. Ha pontos egyezőséget akarunk, akkor így kell megadni:

=”=Vác”

Helyettesítő (Joker) karakterek használata

Ha ki szeretnénk szűrni azokat az elemeket, amik tartalmaznak egy adott karakter sorozatot, akkor használhatjuk a jól ismert joker karaktereket. (* és ?)

Ha esetleg a szűrendő szövegrészben van csillag vagy kérdőjel, akkor azokat úgy szűrhetjük, hogy elé teszünk egy hullámjelet (tilde)

joker-karakterek

Használat az irányított (speciális) szűrőhöz

iranyitott-szures-menu

Iranyitott-szuro

  • A listatartomány a teljes táblázat fejléccel együtt
  • A szűrőtartomány pedig a külön részben megfogalmazott feltételtartomány lesz
  • Az eredményt lehet az aktuális munkalap más helyére is másolni azonnal.

Használat az adatbázis függvényekhez

Például egy cellába szeretném megtudni a Budapesti férfiak és a Miskolci nők összlétszámát, akkor erre az AB.DARAB2
( DCOUNTA ) függvényt használhatjuk. A NÉV oszlopban számoljuk meg a külön kritériumtartományban megfogalmazottaknak megfelelő sorok számát.

adatbazis-fuggveny

Adatbázis: A teljes táblázat fejléccel

Mező: Az az oszlop, ahol a megszámlálást kell végezni. Megadható sorszámmal, hogy hányadik oszlop vagy a nevével, vagy a fejléc szöveget tartalmazó cella címével.

Kritérium: A feltételtartomány címe

Letölthető gyakorló munkafüzet

iranyitott-szuro-adatbazis-fuggveny-felteteltartomany

Mindez működés közben

  • Feltétel tartományok az Excelben

Tovább...

Kimutatásadatot.Vesz (GETPIVOTDATA) helyett egyszerű hivatkozás

Ha jártál már úgy, hogy egy  elkészült PIVOT tábla egyik adatcellájára próbáltál hivatkozni, akkor bizonyára ismerős a jelenség. Ha a hivatkozást egérrel vagy a billentyűzet nyilaival próbáljuk bevinni, akkor az egyszerű hivatkozás helyett az Excel automatikusan a GETPIVOTDATA ( KIMUTATÁSADATOT.VESZ ) függvényt illeszti be a képletbe a sima ‘B8’ vagy ‘D32’ típusú cím helyett. Mit kell tenni, hogy mégis az egyszerű cellacímet szeretnénk használni?

getpivotdata

A megoldás

Az egyik megoldás az, hogy kézzel beírjuk a hivatkozás címét. Ez kissé kényelmetlen.

A másik megoldás egy egyszerű PIVOT beállítás kérdése, amit bármikor módosíthatunk.

  1. Kattintsunk a PIVOT belsejébe, hogy aktív legyen, és a szalag felett megjelenik a Kimutatáseszközök menüpont.
  2. A Kimutatáseszközök Beállítások lapjának bal oldalán, a kimutatásnév alatt kattintsunk a Beállítások legördülő menüre.
  3. Vegyük ki a pipát a „Kimutatásadatot.vesz művelet létrehozása” ( Generate GetPivotData ) elem elől

    getpivotdata-off

Ezután már használhatjuk rákattintással is az egyszerű hivatkozást.

Mindez működés közben

Tovább...

Munkalap ürességének vizsgálata makróval

Munkalap ürességének ellenőrzése

Készítünk egy függvényt, ami paraméterként a vizsgálandó munkalapot kapja meg, vissza pedig egy logikai értéket ad.

Ha egy munkalap üres, akkor a használt tartomány címe az ‘A1’ lesz. És ha az üres, akkor a munkalapot üresnek tekinthetjük.

[vb]

Function is_empty_sheet(sname As Worksheet) As Boolean

is_empty_sheet = sname.UsedRange.Address = "$A$1" And IsEmpty(sname.Range("A1"))

End Function

[/vb]

Minden üres munkalap törlése

[vb]

Sub delete_blank_sheets()
Dim sh As Worksheet

For Each sh In Sheets
If is_empty_sheet(sh) Then
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
End If

Next
End Sub

[/vb]

A munkalap nem csak cellákat, hanem egyéb elemet is tartalmazhat, pl.: Grafikonok, rajz elemek, képek, stb..

Ezeket ez a kód nem vizsgálja

 

Mindez videóra rögzítve működés közben

  • Üres-e a munkalap?

Tovább...

Az első kitöltött cella megkeresése makróval

Előfordulhat, hogy egy makró projekt kapcsán szembejön az a probléma, hogy nem tudjuk előre azt, hogy hol is kezdődik a feldolgozandó tartomány, vagy az éppen mindig változó. Emiatt jól jöhet ez az egy soros snippet a probléma megoldására.

[vb]

Range("A1").Select

Cells.Find(What:="*").Activate

[/vb]

Az első sor az aktuális munkalap első celláját aktiválja, hogy onnan kezdődjön a keresés. A második pedig megkeresi az első kitöltött cellát, amiben bármilyen érték lehet, szám, vagy szöveg, akár képlet.

A fenti kód csak akkor működik, ha az aktuális munkalap nem teljesen üres. Ellenkező esetben hibát fog jelezni.

Ezért csak akkor használjuk így, ha biztosan tudjuk, hogy van kitöltött cella a vizsgált munkalapon.

Munkalap ürességének ellenőrzése

Készítünk egy függvényt, ami paraméterként a vizsgálandó munkalapot kapja meg, vissza pedig egy logikai értéket ad.

Ha egy munkalap üres, akkor a használt tartomány címe az ‘A1’ lesz. És ha az üres, akkor a munkalapot üresnek tekinthetjük.

[vb]

Function is_empty_sheet(sname As Worksheet) As Boolean

is_empty_sheet = sname.UsedRange.Address = "$A$1" And IsEmpty(sname.Range("A1"))

End Function

[/vb]

A javított kód

[vb]
Function is_empty_sheet(sname As Worksheet) As Boolean

is_empty_sheet = sname.UsedRange.Address = "$A$1" And IsEmpty(sname.Range("A1"))

End Function

Sub find_first_filled()

If Not is_empty_sheet(ActiveSheet) Then

Range("A1").Select
Cells.Find(What:="*").Activate
End If

End Sub

[/vb]

Így az első kitöltött cella keresése csak akkor fut le, ha az aktuális munkalap nem üres.

A munkalap nem csak cellákat, hanem egyéb elemet is tartalmazhat, pl.: Grafikonok, rajz elemek, képek, stb..

Ezeket ez a kód nem vizsgálja

 

Mindez működés közben

  • Hol az első kitöltött cella?

Tovább...

Számított feltétel szerinti összesítések

A feltétel szerinti összegzés (Sumif/Szumha), illetve a megszámlálás (Countif/Darabteli) függvényeket legtöbben ismerik. Sőt, az excel 2007-től ezek több feltételt is használni képes nagy-testvérei is egyre inkább bekerülnek a köztudatba. (SumIfs/Sumhatöbb, Countifs/Darabhatöbb). Ezekkel a függvényekkel remek riportokat lehet készíteni, de azért van néhány korlát, amiket nem tudnak átlépni.

Az oktatóanyagban ezt a táblázatot használjuk példaként.

mintatabla

Érdekesebb kérdések ehhez a táblázathoz

  • A nyereséges sorok száma
  • Az „Északi” nyereségesek száma
  • Az „Északi” nyereségesek összbevétele
  • Északiak és Déliek együttes bevétele vagy nyeresége vagy vesztesége.

Természetesen lehetne egy „Nyereség” nevű számított oszlopot tenni a végére, de most ezt szándékosan nem tesszük.

Mi a gond az ismert feltételes összesítő függvényekkel?

  • A feltételek csak konkrét értékek lehetnek (konstans, cellacím vagy számítás), de olyat már nem tudnak, hogy csak azokat a sorokat vegyék figyelembe, ahol pl. a ‘B’ oszlopban nagyobb érték van, mint a ‘C’ oszlopban
  • A feltételeket csak ÉS kapcsolatba tudják hozni, azaz egy következő feltétel tovább szűkíti az előző feltéteknek megfelelő sorok számát. A feltételeket nem képesek VAGY kapcsolatba tenni.

Akkor mi a megoldás?

  • Egyik lehetőség, hogy egy külön oszlopba elvégezzük a vizsgálatot. majd ezt az oszlopot értékeljük ki. Ha pl. a nyereséges sorok számát keressük, akkor az utolsó oszlopba írhatunk egy olyan képletet, ami nullát ad eredményül, ha nincs nyereség, különben pedig egyet. Ezen oszlop összesítésével megkapjuk a nyereséges cégek számát. Ez két lépés. Egyik a segédoszlop elkészítése, és  a második az összegzés.

A segédoszlop képlete lehetne egy HA() függvény, de Én ezt javaslom beírni, majd lehúzni az oszlopra:

=--(B2>C2)

A zárójelben lévő kifejezés TRUE/FALSE eredményt ad, a dupla mínusz jel pedig ezt alakítja át 0/1 értékekre.

  • Második lehetőség, hogy Adatbázis függvényt próbálunk bevetni, és a kritérium tartományt olyan számítással adjuk meg, ami a táblázat első sorában értékel ki. Az egész kritériumtartományt elnevezzük „Criteria” néven.

adatbazis-fuggveny-szamitott-feltetel
A függvény pedig a következő:

=DCOUNTA($A$1:$D$13;"Kateg";Criteria)
=DARAB2($A$1:$D$13;"Kateg";Criteria)

És újra a SUMPRODUCT (Szorzatösszeg)

  • Harmadik lehetőség, hogy az egészet egy képlettel oldjuk meg.
=SUMPRODUCT(--(B2:B13>C2:C13))
=SZORZATÖSSZEG(--(B2:B13>C2:C13))

Ez a képlet belül a ‘B’ és a ‘C’ oszlopot hasonlítja össze, és egy olyan tömböt ad eredményül, aminek annyi eleme van, ahány sora a két megadott tartománynak, de ott van benne TRUE, ahol a B>C, különben FALSE. A dupla mínusz jel a logikai értékeket 0/1 értékekké alakítja. Végül a SUMPRODUCT összeadja, az eredmény a tömbben szereplő egyesek összege, azaz a nyereséges sorok száma lesz.

Letölthető munkafüzet: szamitott-felt-szerinti-osszesitesek

A kapcsolódó videóban látható a megoldás menete, és a többi kérdésre is választ kapunk

  • Számított feltétel szerinti összegzés

Tovább...

Az egyéni makró munkafüzet (PERSONAL.XLSB)

Az egyéni makró munkafüzet (Personal Macro Workbook) egy speciális munkafüzet, amit leginkább arra használhatunk, hogy kisebb, speciális vagy általános segéd makrókat tárolunk benne, és a napi munkánk során ezeket a makrókat használva felgyorsíthatjuk a munkánkat. Néhány példa:

  • A mai dátum beillesztése a kijelölt cellákba
  • Az aktív munkafüzet útvonalának kiíratása (honnan nyitottuk meg)
  • Aktuális kijelölés képleteinek értékké alakítása
  • A kijelölés közepére igazítás
  • Aktuális táblázat formázása adott sablon szerint
  • stb…

Hol van a helye? – XLSTART

A nevében is benne van, hogy személyes, azaz ha egy gépet többen használunk, akkor mindenkinek lehet saját ilyen makró füzete. Emiatt a személyes felhasználói profilunkban van a helye.

C:\Felhasználók\Konkrét felhasználó\Appdata\Roaming\Microsoft\Excel\XLSTART

A saját gépünkön aktuális helyet meg is kérdezhetjük az Exceltől:

  1. ALT-F11-el lépjünk át a Visual Basic szerkesztőbe
  2. Ctrl-G kombinációval hívjuk elő az Excel parancssorát (Immediate Window)
  3. Írjuk be a következőt: ?Application.StartupPath
  4. Válaszként megkapjuk a helyes útvonalat

Az AppData mappa alapból rejtett, ezért ha meg is szeretnénk nézni ennek a mappának a tartalmát, akkor be kell kapcsolni a rejtett fájlok és mappák megjelenítését.

Mi ez a mappa?

Ez a mappa arra való, hogy az ide helyezett munkafüzetek, vagy azokra mutató parancsikonokhoz tartozó munkafüzetek az Excel indításakor automatikusan megnyílnak.

Ha ezen a helyen létrehozunk egy PERSONAL.XLSB fájlt ( bináris munkafüzet), akkor az Excel ezt felismeri, és tud bele rögzíteni makrókat, illetve tudunk belőle futtatni makrólat attól függetlenül, hogy különben éppen melyik munkafüzettel dolgozunk.

Az XLSTART mappa az Exel telepítésekor legtöbbször automatikusan létrejön, és üres. Ritkábban, de előfordul, hogy az XLSTART mappa sem jön létre telepítéskor. A személyes makró munkafüzet tehát alapból nem létezik, azt nekünk kell létrehozni.

A PERSONAL.XLSB létrehozása

Erre három módszert is használhatunk

  1. Egy üres munkafüzetet nyitunk, és elmentjük bináris fájlként, PERSONAL néven az előbb megadott helyre
  2. Rögzítünk egy akármilyen makrót a személyes makró füzetbe. Ilyenkor az excel létrehozza a fájlt.
  3. Egy másik felhasználó profiljából vagy akár egy másik gépről származó fájlt bemásolunk ide

A PERSONAL.XLSB rejtetten nyílik meg, azaz nem látszódik az ablaka, csak a Visual Basic felületen látható, hogy nyitva van. A rejtettségét mi tudjuk beállítani a Nézet (View) szalagon az elrejtés/felfedés (hide/unhide) parancsokkal.

Példa makró

Legyen itt egy példa makró, amit a videó alapján létrehozott PERSONAL.XLSB fájlba illesztve ki is tudunk próbálni. A makró egy ablakba kiírja az aktuális munkafüzet elérési útját.

[vb]

Sub utvonal()

msgbox activeworkbook.path

End Sub

[/vb]

Mindez működés közben

  • Egyéni makró munkafüzet létrehozása

Tovább...

Igazítás a kijelölés közepére – Makróval

Egy korábbi anyagban arról volt szó, hogy ha lehetséges, kerüljük a cella egyesítést (Merge Cells), és helyette inkább a kijelölés közepére igazítást (Center Across Selection) használjuk.

kijeloles-kozepere

Mivel ennek a menüpontnak az elérése több kattintást igényel, így érdemes lehet a PERSONAL makrómunkafüzetbe tenni egy olyan makrót, ami elvégzi az igazítást.

Az egyéni makró munkafüzet (PERSONAL.XLS(B)

Az egyéni makró munkafüzetről egy külön oktatóanyagban van szó. Röviden, ez egy olyan speciális makrófájl, ami ha létezik, akkor az Excel indításakor automatikusan megnyílik, de rejtett ablakban. A benne lévő makrók pedig láthatóvá, használhatóvá válnak. Kisebb segéd makrókat szoktunk bele tenni, amik felgyorsítanak egyes műveleteket, és hagyományos módon csak körülményesen tudnánk megcsinálni. Ilyen például egy cella tartalmának a kijelölés közepére igazítása.

Lépjünk át a Visual Basic Editor felületére (ALT+F11)

Ha nem látszódik, Kapcsoljuk be a Project Explorer ablakot (Ctrl+R). Ha még nem létezik a PERSONAL makrófüzet, akkor létre kell hozni az említett tutorial alapján.

A PERSONAL makrófüzetbe illesszük be a következő kódot.

[vb]

Sub WrapAcross()
With Selection
.HorizontalAlignment = xlCenterAcrossSelection
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
End Sub

[/vb]

Használata

  1. Egy cellába beírjuk a szöveget, majd kijelöljük azt a tartományt, amin belül középre szeretnénk igazítani.
    kijeloles-kozepere-1
  2. Lefuttatjuk a makrót. Rendelhetünk hozzá billentyűkombinációt, vagy gyors elérési eszköztár gombot is . Nem egyesíti a cellákat, mégis középen látszik.
    kijeloles-kozepere-2

Az egész folyamatot megtekinthetjük a VIDEÓ anyagban

  • Igazítás a kijelölés közepére makróval

Tovább...