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.

