Telefonszámunk: 1-472-0679

Macro-VBA

Az Excel programozásának tanulási útja

Már egy jó ideje tervezem, hogy leírom a saját véleményemet arról, hogyan, milyen sorrendben érdemes tanulni az Excel makrózását, programozását, azaz a VBA-t. Tisztában vagyok azzal, hogy nem csak ez az út létezik, és azzal is, hogy ez akár helytelen út is lehet, nekem mindenesetre beválni látszik. […]

Tovább...

Tartalomjegyzék a munkalapokból makróval

Mostanában sokat dolgoztam Excel tananyagfejlesztésen. Az elméleti, illetve a gyakorlati részeket Excel munkafüzetek munkalapjaira tettem. Arra gondoltam, hogy jól nézne ki az elején egy tartalomjegyzék, ahol linkekre kattintva lehet ugrani a kattintott munkalapra. Ehhez a munkalapok neveiből egy hiperlink listát kell készíteni, ami manuálisan, egyenként elég fájdalmas […]

Tovább...

VBA projekt – makró jelszó kiszedése

Az Excel a munkafüzetet, annak szerkezetét és az esetleg benne lévő makrókat egy egységes projektként kezeli. A projekteket a VBA szerkesztőben (ALT-F11) nézhetjük meg, a Project Explorer ablakban. (Ctrl-R) Projekt jelszó A projekt megtekintéséhez adhatunk jelszót. A munkafüzet szerkezetét és a makró kódot is csak ennek a […]

Tovább...

Munkalap létezésének vizsgálata – érdekes VBA módszer

Gyakran szükségünk lehet arra, hogy makrófutás közben megnézzük, hogy egy adott nevű munkalap létezik-e már vagy sem. Erre több megoldás is létezik, de a napokban találkoztam egy igen érdekes verzióval, ami mindenképpen megér annyit, hogy közzétegyem. Először nézzük a hagyományos megoldásokat A klasszikus és elegáns változat egy […]

Tovább...

Teljes útvonalból fájlnév vagy mappa – VBA

Gyakori feladat, hogy egy fájl teljes elérési útjából ki kell nyerni a fájlnevet és/vagy a mappa útvonalat. Tehát ha például egy GetOpenFilename függvény visszaadja a kiválasztott fájl teljes elérési útját, C:\PROJEKTEK\2016\Excel-Ppt-chart-project\Top10\Top10_template.pptx Akkor ebből szükségünk lehet az útvonalra C:\PROJEKTEK\2016\Excel-Ppt-chart-project\Top10\ és a fájlnévre Top10_template.pptx Ehhez adnék közre két függvényt. […]

Tovább...

Megbízható dokumentumok – Makrók engedélyezése

Alapfogalmak Makró figyelmeztetés Az Excel-ben a makróbiztonság gyárilag úgy van beállítva, hogy makrókat tartalmazó fájlok megnyitásakor egy figyelmeztető üzenetet kapjunk, és eldönthessük, engedélyezzük-e a makrókat az adott dokumentumban vagy sem. Excel 2003-ig ez a figyelmeztető ablak jól látható módon, a képernyő közepén jelent meg. Excel 2007-ben jelent […]

Tovább...

Tartománynevek elrejtése – VBA

A professzionális Excel felhasználók gyakran dolgoznak névtartományokkal. Ez ugyebár azt jelenti, hogy egy tartományt elnevezünk, és a képletekben a tartomány címe helyett a nevét használjuk. A tartományok elnevezését a szerkesztőléc bal oldalán lévő Név mezőben vagy a Képletek szalagon található Névkezelőben lehet megadni. A Dinamikus névtartományokról olvashatsz […]

Tovább...

Munkalapnevek listázása tartományba

A munkalapnevek listázására leginkább VBA, azaz makró megoldásokat lehet találni. De a minap egy érdekes megoldásra bukkantam itt, amit szeretnék veletek megosztani. Tulajdonképpen ez is makró, de nem VBA, hanem EXCEL4 makró. Az Excel4 makrók függvények képében még megtalálhatók a mai EXCEL verziókban is, kompatibilitási okokból. A […]

Tovább...

Munkalapnév lekérése képlettel egy cellába

Meglehetősen sokszor találkozok azzal, hogy több munkalapos munkafüzetekben a munkalap nevét az egyik cellában konstansként is beírják. ha a lap neve megváltozik, akkor azt a cellát is manuálisan változtatni kell. Gondoltam, itt az ideje, hogy közzétegyem a megoldást, amit persze megint nem Én találtam ki, bár annyira […]

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...