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.