VBA Új lap hozzáadása - név, előtte/utána és további példák

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.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave