VBA Adăugați o foaie nouă - Nume, Înainte / După și mai multe exemple

Acest tutorial va discuta despre cum să adăugați / să inserați foi de lucru folosind VBA.

Adăugați o foaie

Această macrocomandă simplă va adăuga o foaie înainte de foaia activă:

123 Adăugare secundară ()Foi. AdăugațiSfârșitul Sub

După introducerea unei foi, noua foaie devine ActiveSheet. Puteți utiliza apoi obiectul ActiveSheet pentru a lucra cu noua foaie (în partea de jos a acestui articol vom arăta cum să inserați o foaie nouă direct la o variabilă).

1 ActiveSheet.Name = "Foaie nouă"

Adăugați foaie cu nume

De asemenea, puteți defini un nume de foaie pe măsură ce creați foaia nouă:

1 Sheets.Add.Name = "Foaie nouă"

Creați o foaie nouă cu numele dintr-o celulă

Sau utilizați o valoare de celulă pentru a denumi o nouă foaie:

1 Sheets.Add.Name = interval ("a3"). Valoare

Adăugați o foaie înainte / după altă foaie

Ați putea dori, de asemenea, să alegeți locația unde va fi inserată noua foaie. Puteți utiliza proprietățile După sau Înainte pentru a insera o foaie într-o anumită locație din registrul de lucru.

Introduceți foaia după altă foaie

Acest cod va introduce noua foaie DUPĂ o altă foaie:

1 Sheets.Add After: = Sheets („Introducere”)

Aceasta va insera o foaie nouă DUPĂ o altă foaie și va specifica numele foii:

1 Sheets.Add (After: = Sheets ("Input")). Nume = "NewSheet"

Observați parantezele suplimentare necesare în al doilea exemplu (primul exemplu va genera o eroare dacă se adaugă a doua paranteză).

sau Înainte:

1 Sheets.Add (Before: = Sheets ("Input")). Nume = "NewSheet"

În aceste exemple am denumit în mod explicit foaia utilizată pentru a determina locația foii. Deseori veți dori să utilizați în schimb numărul indexului foii, astfel încât să puteți insera foaia la începutul sau la sfârșitul registrului de lucru:

Adăugați o foaie la sfârșitul registrului de lucru

Pentru a adăuga o foaie la sfârșitul registrului de lucru:

1 Sheets.Add After: = Sheets (Sheets.Count)

Adăugați o foaie la începutul registrului de lucru:

Pentru a adăuga o foaie la începutul registrului de lucru:

1 Sheets.Add (Before: = Sheets (1)). Name = "FirstSheet"

Adăugați o foaie la variabilă

Acest cod atribuie noua foaie unei variabile pe măsură ce se creează foaia:

12 Dim ws Ca foaie de lucruSet ws = Sheets.Add

De aici puteți face referire la noua foaie cu variabila „ws”:

1 ws.name = "VarSheet"

Mai multe Adăugați exemple de foi

Creați foaia dacă nu există deja

Poate doriți să creați o foaie numai dacă nu există deja.

Creați foi de lucru din lista de nume

Următoarea rutină va analiza conținutul unei singure coloane configurate foi de lucru Excel în registrul de lucru curent cu aceste nume. Apelează către o altă funcție pentru a vedea dacă există deja o foaie cu acel nume și, dacă da, foaia nu este creată.

1234567891011121314151617181920212223242526 Private Sub CommandButton1_Click ()Apelați CreateWorksheets (Foi ("Sheet2"). Range ("A1: a10"))Sfârșitul SubSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IngerDim Sheet_Name Ca ȘirDim i IntegerNo_Of_Sheets_to_be_Added = Nume_Of_Sheets.Rows.CountPentru i = 1 Către No_Of_Sheets_to_be_Ad_AddSheet_Name = Names_Of_Sheets.Cells (i, 1) .Value'Adăugați foaia numai dacă nu există deja și numele are mai mult de zero caractereDacă (Sheet_Exists (Sheet_Name) = False) Și (Sheet_Name "") AtunciWorksheets.Add (). Name = Sheet_NameEnd IfApoi euSfârșitul Sub
1234567891011121314 Funcție Sheet_Exists (WorkSheet_Name As String) Ca BooleanReduceți foaia de lucru ca foaie de lucruSheet_Exists = FalsePentru fiecare foaie de lucru din acest manual de lucruDacă Work_sheet.Name = WorkSheet_Name atunciSheet_Exists = AdevăratEnd IfUrmătorulFuncția de sfârșit

Deci, dacă avem următorul text în celulele A1: A30 în foaia 2:

Apoi vor fi create următoarele foi:

Rețineți că, deși „Dog” apare de două ori, se creează o singură foaie.

Pentru a descărca fișierul .XLS pentru acest tutorial, faceți clic aici.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave