Creați registre de lucru noi folosind VBA în Microsoft Excel

Anonim

Ar putea exista cazuri în care trebuie să creați un nou registru de lucru cu un anumit număr de foi printr-un cod vba sau macro. Iată o macro simplă care vă permite să creați un nou registru de lucru> deschideți și apoi salvați cu maximum 255 de foi de lucru noi. În acest exemplu de macro, vom crea un nou registru de lucru cu 10 foi de lucru.

Opțiune explicită

Sub create_workbook ()
Dim wb Ca registru de lucru
Set wb = NewWorkbook (10)
Sfârșitul Sub

Funcția NewWorkbook (wsCount As Integer) ca Workbook
Dim OriginalWorksheetCount As Long
Set NewWorkbook = Nimic
Dacă wsCount 255, atunci Ieșiți din funcție
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Setați NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
Funcția de sfârșit

Explicatie cod:

Mai întâi avem o procedură numită „create_workbook”. În această procedură, avem o variabilă wb ca registru de lucru și numim funcția NewWorkbook prin această variabilă. Deci, noua funcție este numită și wscount este setat la 10, care este numărul de foi de lucru din noul registru de lucru.

Apoi mergem la funcția numită care este Funcția NewWorkbook (wsCount as Integer) ca Workbook. Valoarea pentru wsCount care este 10 este transmisă din sub creația_cărcii.

Set NewWorkbook = Nimic

Mai întâi, NewWorkbook nu este setat la nimic, astfel încât să putem șterge orice altă valoare care i-ar putea fi atribuită în orice coduri anterioare.

Dacă wsCount 255, atunci ieșiți din funcție

Apoi, trebuie să verificăm dacă valoarea transmisă din sub este mai mică de 1 sau mai mare de 255. Dacă răspunsul este afirmativ la oricare dintre aceste verificări, ieșiți din funcție.
OriginalWorksheetCount = Application.SheetsInNewWorkbook

Există un parametru în pagina de opțiuni Excel în care este setat numărul de foi care trebuie incluse într-un nou registru de lucru. Transmitem această valoare variabilei OriginalWorksheetCount.Variabila va conține numărul implicit de foi care a fost deja prestabilit în opțiunile Excel.

Application.SheetsInNewWorkbook = wsCount

Apoi atribuim valoarea wsCount care este transmisă de la sub la parametrul din opțiunile excel pentru numărul de foi care urmează să fie incluse într-un nou registru de lucru. Deci, acum acest parametru se va schimba de la vechea valoare la 10. Vechea valoare ar putea fi 1 sau 3 sau orice alt număr stabilit de utilizator.

Setați NewWorkbook = Workbooks.Add

Creăm un nou registru de lucru care este atribuit NewWorkbook. Acest nou registru de lucru este creat cu numărul de foi specificat în wsCount. Veți vedea un nou registru de lucru cu 10 foi numite Sheet1 to Sheet10. Vedeți imaginea de mai jos pentru noul fișier Book3 care a fost creat.

Imaginea de mai jos vă va arăta numărul de foi care au fost create în noul registru de lucru.

De asemenea, numărul 10 va apărea în parametrul Application.SheetsInNewWorkbook în Opțiuni Excel ca în imaginea de mai jos -

Application.SheetsInNewWorkbook = OriginalWorksheetCount

TheApplication.SheetsInNewWorkbook este returnat la numărul său original care era prezent înainte de setarea wsCount. Deci, dacă numărul inițial era 1 sau 3, acest parametru va reveni acum la acel număr.

Dacă ți-au plăcut blogurile noastre, împărtășește-le prietenilor tăi de pe Facebook. Și, de asemenea, ne puteți urmări pe Twitter și Facebook.
Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți, completa sau inova munca noastră și să o îmbunătățim. Scrie-ne la site de e-mail