VBA - Dodajanje lista v delovni zvezek
VBA - Dodajanje lista v delovni zvezek
Uvod
Glede na rezultat, ki ga želite doseči, lahko uporabite:- Metoda kopiranja => Za kopijo obstoječega lista
- Dodaj metodo => Dodajanje novega praznega lista v delovni zvezek.
Prav tako se morate prepričati, da je ime novega lista skladno. To pomeni, da ime lista ne sme biti enako obstoječemu ali vsebovati prepovedanih znakov. V obeh primerih bi morale biti metode preverjanja enake.
Metoda kopiranja
Kopiranje lista. Podatki in oblika novega lista bodo enaki izvornemu listu.Sintaksa
izraz. Kopiranje ( pred, po )Izraz je lahko predmet list ali delovni list.
Parametri Pred in Po niso obvezni. Določite lahko samo enega od teh dveh parametrov. Ti so tipa Variant in lahko predstavljajo list najdejo pred ali po tistemu, ki ga želite kopirati. Če je parameter izpuščen, se list samodejno kopira v nov delovni zvezek.
Kaj se zgodi potem?
Pri ustvarjanju novega lista z metodo Kopiranje:- List je ustvarjen na želeni lokaciji (pred ali za drugim listom v delovnem zvezku)
- Preimenuje se glede na ime izvornega lista. Primer: Sheet1 => List1 (2)
- Enako je s kopiranim listom.
- Postane aktivni list. Če se list kopira v nov delovni zvezek, postane delovni zvezek.
Primeri uporabe
Kopiraj "List1" za "Sheet3"Delovni listi ("Sheet1") Kopiraj po: = Delovni listi ("List3")
Kopirajte "List4" pred "Sheet2":
Listi ("List 4") Kopiraj pred: = listi ("List2")
Kopirajte "recap" list v nov delovni zvezek
Delovni listi ("recap")
Kopirajte list, indeksiran kot 1, na zadnjem mestu delovnega zvezka, ne glede na ime zadnjega lista:
Listi (1) .Kopiranje po: = listi (Sheets.Count)
Kopirajte list, indeksiran kot 10 na začetku delovnega zvezka, ne glede na ime zadnjega lista:
Listi (10) .Kopiranje pred: = listi (1)
Želite kopirati več listov aktivnega delovnega knjige v nov delovni zvezek:
Listi (matrika ("Sheet1", "Sheet3", "Sheet5"))
Metoda dodajanja
Ustvari novo preglednico (grafiko ali makro). Novi delovni list postane aktivni list.Ta novi list ne vsebuje podatkov ali oblikovanja.
Sintaksa
Izraz .Add ( Pred, Po, Count, Type )Izraz je lahko predmet list ali delovni list.
Parametri Pred, Po, Štetje in Vrsta so neobvezni.
Eno in prej - Določite lahko samo enega od teh parametrov. Ti so tipa Variant in lahko predstavljajo list najdejo pred ali po tistemu, ki ga želite kopirati.
Parameter Count je tudi Variant. Predstavlja število listov, ki jih želite dodati.
Parameter Vrsta predstavlja vrsto lista, ki ga želite dodati.
- xlWorkSheet - doda delovni list
- xlChart - doda list grafikona
- xlExcel4MacroSheet - doda list makra (Excel4)
- xlExcel4IntlMacroSheet - doda list makra
- xlDialogSheet - doda pogovorno okno.
Opomba: Ne pozabite preimenovati vaših parametrov ali pa sintaksa vrne spodnjo napako:
ActiveWorkbook.Sheets.Add Before: = Delovni listi (Worksheets.Count),, 1, xlChart
Primeri uporabe
Postavite list po zadnjem listu v delovnem zvezku:Sheets.Add After: = Delovni listi (Worksheets.Count)
Doda tri liste na "prvi položaj" aktivnega delovnega zvezka:
ActiveWorkbook.Sheets.Add Pred: = Delovni listi (1), Število: = 3
Doda list grafikona v delovni zvezek z imenom "Wbk18" (Odpri!) Po listu z imenom "Sheet4"
Delovne knjige ("Wbk18"). Sheets.Add After: = Delovni listi ("Sheet4"), vnesite: = xlChart
Testiranje lista
Preverite, ali list že obstaja v delovnem zvezku
"Preizkusite funkcijo funkcije Funkcija Feeil (strWbk kot niz, strWsh kot niz) Kot logični" Gestionnaire na napako nadaljuje naprej "" Test "Feuil_Exist = (Delovni zvezki (strWbk) .Sheets (strWsh) .Name = strWsh) Končna funkcija
Preverite, ali ime datoteke vsebuje prepovedane znake
Funkcija Valid_Name (strName Kot String, strChr kot String) Kot Boolean Dim i Kot Byte, Tb_Car () Kot String, strProhib As String strProhib = "/ * *" "|" 'Liste des caractères à éviter Tb_Car = Split (StrConv (strProhib, vbUnicode), Chr $ (0))' Boucle nad tous les caractères à éviter 'Nota: le -1 est dû au Split de la chaine par le séparateur Chr (0 ) 'En effet, la chaine se terminant par un Chr (0) il convient d'exclure ce dernier caractère Za i = LBound (Tb_Car) Za UBound (Tb_Car) - 1' Preskusi la chaîne contient un caractère prohibé Če InStr (strName), Tb_Car (i))> 0 Zatem 'Si oui: Vrni False Valid_Name = False' ET Retourne le caractère prohibé strChr = Tb_Car (i) Izhod Funkcija End Če Naprej i 'Si OK: Vrni se True Valid_Name = Funkcija True End
Klicanje funkcije preverjanja
Koda je enaka za metodo Kopiraj ali Dodaj.Sub Principale () Dim strNewName Kot String, strCara Kot String strNewName = "NewSheet" Če Valid_Name (strNewName, strCara) = False Potem MsgBox "Le nom:" & strNewName & "est invalide." & vbCrLf & _ "Ne vnesite nobene izjave v zapisnik:" & strCara, vbCritical Exit Sub End Če je Feeil_Exist (ThisWorkbook.Name, strNewName) = True Torej MsgBox "Le nom:" & strNewName & "est invalide. " & vbCrLf & _ "Če želite izvedeti, ali ste uporabili to možnost.", vbCritical Exit Sub End Če je to knjigo.Sheets.Add 'Ou: ThisWorkbook.Sheets ("Feuil1"). Copy After: = Sheets (Sheets.Count) ActiveSheet.Name = strNewName End Sub
Nekaj koristnih nasvetov za Office 2013
Office 2013 prinaša dve dopolnilni metodi tistim, ki smo jih videli prej:- Kopirajte obseg celic na list in več listov
- Metoda Add2 za zbirke predmetov grafikonov.
Kopirajte obseg celice z uporabo metode FillAcrossSheets
Ta metoda je na voljo samo za Office 2013. Kopiranje obsega celic iz "Sheet1" v "Sheet3", "Sheet5" in "Sheet7".Listi = Array ("Sheet3", "Sheet5", "Sheet7") Listi (listi) .PopraviSkladne liste Delovni listi ("Sheet1"). Razpon ("A1: C5")
Parametri te metode so:
- Območje: obvezno
- Vrsta: Neobvezno
- xlFillWithAll: Kopirajte vsebino in formate.
- xlFillWithContents: Kopirajte vsebino.
- xlFillWithFormats: Kopiranje formatov.
Metoda Add2
Ta metoda je na voljo samo za Office 2013. Ta metoda se uporablja za zbirke predmetov grafikonov in vrne napako " Runtime ", če se uporablja z objekti Sheets in WorkSheets. Ni več informacij o Microsoft.com, razen skladnje:Izraz .Add ( Pred, Po, Count, NewLayout )
Izraz predstavlja objekt delovnega lista
Parametri so enaki metodi Add, preprosto nadomestite parameter Type z NewLayout. Če je nastavitev NewLayout nastavljena na True, se grafika vstavi z novimi pravili.