VBA - lapo pridėjimas prie darbo knygos
VBA - lapo pridėjimas prie darbo knygos
Įvadas
Priklausomai nuo norimo rezultato, galite naudoti:- Kopijavimo metodas => Esamo lapo kopija
- Pridėti metodą => Norėdami į savo darbo knygą įtraukti naują tuščią lapą.
Taip pat turite įsitikinti, kad naujo lapo pavadinimas atitinka. Tai reiškia, kad lapo pavadinimas neturėtų būti tapatus egzistuojančiam arba turėti draudžiamų simbolių. Abiem atvejais patikros metodai turėtų būti tokie patys.
Kopijavimo metodas
Nukopijuokite lapą. Naujo lapo duomenys ir formatas bus identiški šaltinio lapui.Sintaksė
išraiška .Kopijavimas ( prieš, po )„Expression“ gali būti arba lapo arba darbalapio objektas.
Prieš ir po parametrai yra neprivalomi. Galite nurodyti tik vieną iš šių dviejų parametrų. Jie yra „Variant“ tipo ir gali atstovauti lapą surasti prieš arba po kopijavimo. Jei parametras yra praleistas, lapas automatiškai nukopijuojamas į naują darbo knygą.
Kas tada atsitiks?
Kuriant naują lapą naudodami Kopijavimo metodą:- Lapas sukuriamas pageidaujamoje vietoje (prieš arba po kito darbo knygos lapo)
- Jis pervadinamas pagal šaltinio lapo pavadinimą. Pavyzdys: Sheet1 => Sheet1 (2)
- Jis yra identiškas kopijuotam lapui.
- Jis tampa aktyviuoju lapu. Jei lapas nukopijuojamas į naują darbo knygą, tai tampa aktyvia darbo knyga.
Naudojimo pavyzdžiai
Kopijuoti „Sheet1“ po „Sheet3“Darbo lapai („Sheet1“) Kopijavimas po: = darbalapiai („Sheet3“)
Nukopijuokite „Sheet4“ prieš „Sheet2“:
Lapai („Sheet4“). Kopijavimas prieš: = lapai („Sheet2“)
Nukopijuokite „recap“ lapą į naują darbo knygą
Darbo lapai („recap“)
Nukopijuokite indeksuotą 1 lapą paskutinėje darbo knygos pozicijoje, neatsižvelgiant į paskutinio lapo pavadinimą:
Lapai (1) .Kopija po: = Lakštai (lapai.Skaičiuoti)
Kopijuoti lapą, indeksuojamą kaip 10, darbo knygos pradžioje, neatsižvelgiant į paskutinio lapo pavadinimą:
Lapai (10) .Kopijavimas prieš: = lapai (1)
Norite kopijuoti kelis aktyvaus darbo knygos lapus į naują darbo knygą:
Lapai („Array“ („Sheet1“, „Sheet3“, „Sheet5“))
Pridėti metodą
Sukuria naują skaičiuoklę (grafiką ar makrokomandą). Naujas darbalapis tampa aktyviuoju lapu.Šiame naujame lape nėra duomenų ar formato.
Sintaksė
išraiška. Pridėti ( prieš, po, skaičiuoti, tipas )„Expression“ gali būti arba lapo arba darbalapio objektas.
Prieš, po, skaičiavimo ir tipo parametrai yra neprivalomi.
Bet ir prieš - Galite nurodyti tik vieną iš šių parametrų. Jie yra „Variant“ tipo ir gali atstovauti lapą surasti prieš arba po kopijavimo.
Skaičių parametras taip pat yra variantas. Jis rodo lapų, kuriuos norite pridėti, skaičių.
Parametras Tipas rodo lapo tipą, kurį norite pridėti.
- xlWorkSheet - prideda darbalapį
- xlChart - prideda diagramos lapą
- xlExcel4MacroSheet - prideda makro lapą (Excel4)
- xlExcel4IntlMacroSheet - skelbia makro lapą
- xlDialogSheet - prideda dialogo lapą.
NB: Nepamirškite pervardyti savo parametrų arba sintaksė grąžins žemiau esančią klaidą:
ActiveWorkbook.Sheets.Add Prieš: = darbalapiai (Worksheets.Count),, 1, xlChart
Naudojimo pavyzdžiai
Įdėkite lapą po paskutinio darbo knygos lapo:Lakštai.Pridėkite po: = darbalapiai (darbalapiai.Skaičiuoti)
Įtraukia tris lapus aktyviosios darbo knygos „pirmojoje vietoje“:
ActiveWorkbook.Sheets.Add Prieš: = darbalapius (1), Count: = 3
Po lapo, pavadinto „Sheet4“, darbo knygoje „Wbk18“ (Atidaryti!) Pridedamas diagramos lapas.
Darbo knygos („Wbk18“) .Lentelės.Pridėkite po: = darbalapiai („Sheet4“), tipas: = xlChart
Bandymo bandymas
Patikrinkite, ar lape jau yra darbo knygoje
„Tikrinti savo funkciją„ Feuil_Exist “(strWbk kaip eilutė, strWsh kaip eilutė) Kaip Būlio„ Gestionnaire d'erreur On Error Resume Next “„ Test “Feuil_Exist = (Darbaknygės (strWbk). Lapai (strWsh) .Name = strWsh) Pabaigos funkcija
Patikrinkite, ar failo pavadinime yra draudžiamų simbolių
„Tikrinimas ir kontrolė„ Funkcija Valid_Name “(strName kaip String, StrChr kaip String) Kaip Boolean Dim i Byte, Tb_Car () Kaip String, strProhib Kaip String strProhib =" /: *? "" | " „Liste des caractères à éviter Tb_Car = Splitas (StrConv (strProhib, vbUnicode), Chr $ (0))„ Boucle sur tous caractères à éviter “Nota:„ 1 “ ) „En effet, la chaine se terminant par un Chr (0) il convient d'exclure ce dernier caractère i = LBound (Tb_Car) į UBound (Tb_Car) - 1 'Tikrinti ir panaikinti draudimą., Tb_Car (i))> 0 Tada „Si oui: Return False Valid_Name = False“ ET Retourne le caractère aizliegimas strChr = Tb_Car (i) Išeiti iš funkcijų pabaigos Jei sekantis i 'Si OK: Grįžti True Valid_Name = True End funkcija
Skambinimas tikrinimo funkcijai
Kodas yra tas pats ir kopijavimo, arba pridėjimo metodui.Sub Principale () Dim strNewName Kaip String, strCara Kaip String strNewName = "New Sheet" Jei Valid_Name (strNewName, strCara) = False Tada MsgBox "Le nom:" & strNewName & "est invalidide". & vbCrLf & _ "Un nom de feuille ne peut pas contenir le caractère:" & strCara, vbCritical Exit Sub End Jei Jei Feuil_Exist (ThisWorkbook.Name, strNewName) = True Tada MsgBox "Le nom:" & strNewName & "est invalide. " & vbCrLf & _ "Ce nom de feuille est déjà utilisé dans ce classeur.", vbCritical Exit Sub End Jei taiWorkbook.Sheets.Add 'Ou: ThisWorkbook.Sheets ("Feuil1"). Kopijavimas po: = Lakštai (Sheets.Count) ActiveSheet.Name = strNewName End Sub
Kai kurie naudingi „Office 2013“ patarimai
„Office 2013“ pateikia du papildomus metodus, taikomus anksčiau matomiems:- Nukopijuokite ląstelių diapazoną į lapą ir kelis lapus
- Diagramų objektų rinkinių Add2 metodas.
Nukopijuokite ląstelių diapazoną naudodami „FillAcrossSheets“ metodą
Šis metodas galimas tik „Office 2013“. Norite nukopijuoti ląstelių diapazoną iš „Sheet1“ į „Sheet3“, „Sheet5“ ir „Sheet7“.Lakštai = „Array“ („Sheet3“, „Sheet5“, „Sheet7“) Lakštai (lapai) .Atvirkštinių lapų darbalapiai („Sheet1“) „Range“ („A1: C5“)
Šio metodo parametrai yra:
- Diapazonas: Reikalingas
- Tipas: pasirinktinai
- xlFillWithAll: nukopijuokite turinį ir formatus.
- xlFillWithContents: nukopijuokite turinį.
- xlFillWithFormats: kopijuokite formatus.
Add2 metodas
Šis metodas galimas tik „Office 2013“. Šis metodas taikomas „Charts“ objektų kolekcijoms ir grąžina „ Runtime “ klaidą, kai naudojamas su „Sheets“ ir „WorkSheets“ objektais. Daugiau informacijos „Microsoft.com“ nėra, išskyrus sintaksę:išraiška. Pridėkite ( prieš, po, skaičiuoklė, naujiena )
„Expression“ reiškia darbalapio objektą
Parametrai yra identiški „Add“ metodui, tiesiog pakeiskite „Type“ parametrą „NewLayout“. Jei „NewLayout“ nustatoma tiesa „True“, grafikas įterpiamas naudojant naujas taisykles.