Tegyük fel, hogy szeretnénk létrehozni egy „Kimutatás1” nevű új munkalapot Excelben makróval. Persze mindezt csak akkor, ha nincs még ilyen munkalapunk. Ha már van ilyen nevű, akkor ne történjen semmi.
Új munkalap beszúrása VBA-ban
Nem csak azért, mert szeretjük az Excel riportjainkat automatizálni, de bármikor előjöhet a probléma egy bonyolultabb makróban, hogy tudnunk kell leellenőrizni, hogy létezik-e már az adott munkalapunk. Erre mutatok egy megoldást, vagyis a teljes VBA kódot leírom magyarázattal, hogy hogyan tudunk létrehozni új munkalapot Excelben, és hogyan tudjuk lecsekkolni, hogy szabad-e még az a név, amit az új munkalapnak szánnánk.
Íme a kód:
Sub Makró1() For i = 1 To Worksheets.Count If Sheets(i).Name = "Kimutatás1" Then letezik = True End If Next If letezik <> True Then Sheets.Add.Name = "Kimutatás1" Sheets("Kimutatás1").Move After:=Sheets(Worksheets.Count) End If End Sub
Hogyan is működik ez?
1. Végigmegyünk az összes létező munkalapunkon egy „For” ciklus segítségével, és megnézzük, hogy van e már „Kimutatás1” nevű munkalapunk.
2. Ha van, akkor egy változóban, amit most „letezik”-nek neveztem el, eltároljuk ezt az infót, azaz egy „igaz” értéket adunk neki.
3. Utána egy logikai vizsgálattal, ha a „letezik” változó nem egyenlő „true”-val, azaz nem volt „Kimutatás1” nevű munkalap, akkor létrehozom azt.
4. Plusz ezt az új munkalapot az utolsó létező munkalap utánra helyezem át.