Tento tutoriál bude diskutovat o tom, jak přidat / vložit listy pomocí jazyka VBA.
Přidat list
Toto jednoduché makro přidá list před ActiveSheet:
123 | Sub přidat ()Listy.PřidatEnd Sub |
Po vložení listu se z nového listu stane ActiveSheet. Potom můžete pomocí objektu ActiveSheet pracovat s novým Listem (V dolní části tohoto článku si ukážeme, jak vložit nový list přímo do proměnné).
1 | ActiveSheet.Name = "Nový list" |
Přidejte list se jménem
Při vytváření nového listu můžete také definovat název listu:
1 | Sheets.Add.Name = "Nový list" |
Vytvořte nový list s názvem z buňky
Nebo použijte hodnotu buňky k pojmenování nového listu:
1 | Sheets.Add.Name = range ("a3"). Hodnota |
Přidat list před / po dalším listu
Můžete také zvolit umístění, kam bude vložen nový list. Vlastnosti Po nebo Před můžete použít k vložení listu do konkrétního umístění v sešitu.
Vložte list za další list
Tento kód vloží nový list PO dalším listu:
1 | Sheets.Add After: = Sheets ("Input") |
Tím vložíte nový list PO dalším listu a zadáte název listu:
1 | Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet" |
Všimněte si dalších závorek požadovaných ve druhém příkladu (první příklad vygeneruje chybu, pokud jsou přidány druhé závorky).
nebo dříve:
1 | Sheets.Add (Before: = Sheets ("Input")). Name = "NewSheet" |
V těchto příkladech jsme explicitně pojmenovali List používaný k určení umístění listu. Často budete chtít místo toho použít indexové číslo listu, abyste mohli list vložit na začátek nebo konec sešitu:
Přidat list na konec sešitu
Chcete -li přidat list na konec sešitu:
1 | Sheets.Add After: = Sheets (Sheets.Count) |
Přidat list na začátek sešitu:
Přidání listu na začátek sešitu:
1 | Sheets.Add (Before: = Sheets (1)). Name = "FirstSheet" |
Přidat list do proměnné
Tento kód přiřadí nový list proměnné při vytváření listu:
12 | Dim ws As WorksheetNastavit ws = Sheets.Add |
Odtud můžete odkazovat na nový list pomocí proměnné „ws“:
1 | ws.name = "VarSheet" |
Více Přidat příklady listů
Vytvořte list, pokud již neexistuje
List možná budete chtít vytvořit, pouze pokud ještě neexistuje.
Vytvořte pracovní listy ze seznamu jmen
Následující rutina se podívá na obsah jednoho sloupce nastaveného excelových listů v aktuálním sešitu s těmito názvy. Volá jinou funkci, aby zjistil, zda list s tímto názvem již existuje, a pokud ano, list není vytvořen.
1234567891011121314151617181920212223242526 | Private Sub CommandButton1_Click ()Zavolejte CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))End SubSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name As StringDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountPro i = 1 do No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1) .Value'Přidat list pouze v případě, že již neexistuje a název je delší než nula znaků.'If (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") ThenWorksheets.Add (). Name = Název_listuKonec IfPříště jáEnd Sub |
1234567891011121314 | Funkce Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet as WorksheetSheet_Exists = FalsePro každý pracovní list v ThisWorkbook.WorksheetsIf Work_sheet.Name = WorkSheet_Name ThenSheet_Exists = PravdaKonec IfdalšíKoncová funkce |
Pokud tedy máme v buňkách A1 následující text: A30 v listu 2:
Poté budou vytvořeny následující listy:
Všimněte si, že ačkoli se „Pes“ objeví dvakrát, vytvoří se pouze jeden list.
Kliknutím sem stáhnete soubor .XLS pro tento výukový program.