Ez az oktatóanyag megvitatja, hogyan adhat hozzá / helyezhet be munkalapokat a VBA használatával.
Lap hozzáadása
Ez az egyszerű makró hozzáad egy lapot az ActiveSheet elé:
123 | Sub Add ()Lapok. HozzáadásEnd Sub |
A munkalap beszúrása után az új munkalap lesz az ActiveSheet. Ezután az ActiveSheet objektummal dolgozhat az új lappal (A cikk alján bemutatjuk, hogyan lehet új lapot közvetlenül beilleszteni egy változóba).
1 | ActiveSheet.Name = "NewSheet" |
Adjon hozzá lapot névvel
Az új munkalap létrehozásakor megadhat egy munkalap nevét is:
1 | Sheets.Add.Name = "NewSheet" |
Új lap létrehozása névvel egy cellából
Vagy használjon cellaértéket új munkalap elnevezéséhez:
1 | Sheets.Add.Name = tartomány ("a3") |
Lap hozzáadása egy másik lap előtt / után
Érdemes kiválasztani azt a helyet is, ahová az új táblázatot be fogja illeszteni. Az Utó vagy Előtte tulajdonságok használatával beszúrhat egy lapot a munkafüzet egy adott helyére.
Lap beszúrása egy másik lap után
Ez a kód beilleszti az új lapot egy másik lap után:
1 | Sheets.Add After: = Sheets ("Input") |
Ez új lapot szúr be egy másik lap után, és megadja a lap nevét:
1 | Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet" |
Figyelje meg a második példában előírt extra zárójelet (az első példa hibát generál, ha hozzáadja a második zárójelet).
vagy Előtte:
1 | Sheets.Add (Before: = Sheets ("Input")). Name = "NewSheet" |
Ezekben a példákban kifejezetten megneveztük a munkalap meghatározásához használt lapot. Gyakran a Sheet Index számot szeretné használni helyette, hogy beszúrhassa a lapot a munkafüzet elejére vagy végére:
Adja hozzá a lapot a munkafüzet végéhez
Lap hozzáadása a munkafüzet végéhez:
1 | Sheets.Add After: = Sheets (Sheets.Count) |
Lap hozzáadása a munkafüzet elejéhez:
Lap hozzáadása a munkafüzet elejéhez:
1 | Sheets.Add (Before: = Sheets (1)). Name = "FirstSheet" |
Adja hozzá a lapot a változóhoz
Ez a kód a lap létrehozásakor hozzárendeli az új munkalapot egy változóhoz:
12 | Dim ws munkalapkéntÁllítsa be a ws = Sheets.Add |
Innen hivatkozhat az új lapra a „ws” változóval:
1 | ws.name = "VarSheet" |
További táblázatlapok hozzáadása
Hozzon létre munkalapot, ha még nem létezik
Érdemes csak akkor létrehozni egy lapot, ha még nem létezik.
Hozzon létre munkalapokat a nevek listájából
A következő rutin egy oszlop tartalmát vizsgálja meg, amelyen az Excel munkalapokat állítja be az aktuális munkafüzetben ezekkel a nevekkel. Felhív egy másik függvényt, hogy megnézze, létezik -e már ilyen nevű lap, és ha igen, akkor a lap nincs létrehozva.
1234567891011121314151617181920212223242526 | Privát alparancsButton1_Click ()Hívja a CreateWorksheets (Táblázatok ("Sheet2"). Tartomány ("A1: a10"))End SubSub CreateWorksheets (Names_Of_Sheets as Range)Halvány No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name As StringDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountAz i = 1 címhez No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1). Érték'Csak akkor adjon hozzá lapot, ha még nem létezik, és a név hosszabb, mint nulla karakterHa (Sheet_Exists (Sheet_Name) = False) És (Sheet_Name "") AkkorWorksheets.Add (). Name = Sheet_NameVége HaKövetkező iEnd Sub |
1234567891011121314 | Függvénylap_Exists (WorkSheet_Name As String) mint BooleanMunkalap munkalapként elhomályosításaSheet_Exists = HamisA ThisWorkbook.Worksheets minden egyes munkalapjáhozHa Work_sheet.Name = Munkalap_neve akkorSheet_Exists = IgazVége HaKövetkezőVége funkció |
Tehát ha a következő szöveg van az A1: A30 cellákban a 2. lapon:
Ezután a következő lapok jönnek létre:
Vegye figyelembe, hogy bár a „Kutya” kétszer jelenik meg, csak egy lap jön létre.
Az oktatóanyag .XLS fájljának letöltéséhez kattintson ide.