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... →Macro-VBA
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... →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... →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... →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... →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... →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... →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... →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 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]
Mindez videóra rögzítve működés közben
Üres-e a munkalap?