VBA - lapas pievienošana darbgrāmatai

VBA - lapas pievienošana darbgrāmatai

Ievads

Atkarībā no vēlamā rezultāta jūs varat izmantot:
  • Kopēšanas metode => Par esošas lapas kopiju
  • Pievienot metodi => Lai darbgrāmatai pievienotu jaunu tukšu lapu.

Jums ir arī jāpārliecinās, ka jaunās lapas nosaukums ir saderīgs. Tas nozīmē, ka lapas nosaukumam nevajadzētu būt identiskam esošam vai saturēt aizliegtas rakstzīmes. Abos gadījumos pārbaudes metodēm jābūt vienādām.

Kopēšanas metode

Kopējiet lapu. Jaunās lapas dati un formāts būs identiski avota lapai.

Sintakse

izteiksme. Kopēšana ( pirms, pēc )

Izteiksme var būt vai nu lapas vai darblapas objekts.

Pirms un pēc parametri ir obligāti. Varat norādīt tikai vienu no šiem diviem parametriem. Tie ir varianta tipa un var attēlot lapu, kas atrodas pirms vai pēc kopēšanas. Ja parametrs ir izlaists, lapa tiek automātiski kopēta jaunā darbgrāmatā.

Kas tad notiek?

Veidojot jaunu lapu ar kopēšanas metodi:
  • Lapa ir izveidota vēlamajā vietā (pirms vai pēc citas lapas darbgrāmatā)
  • To pārdēvē, pamatojoties uz avota lapas nosaukumu. Piemērs: Sheet1 => Sheet1 (2)
  • Tas ir identisks kopētai lapai.
  • Tā kļūst par aktīvo lapu. Ja lapa tiek kopēta uz jaunu darbgrāmatu, tā kļūst par aktīvo darbgrāmatu.

Lietošanas piemēri

Kopējiet "Sheet1" pēc "Sheet3"

 Darblapas ("Sheet1") Kopēt pēc: = darblapas ("Sheet3") 

Kopējiet "Sheet4" pirms "Sheet2":

 Lapas ("Sheet4") Kopēt pirms: = lapas ("Sheet2") 

Kopējiet "recap" lapu jaunā darbgrāmatā

 Darblapas ("recap") Kopēt 

Kopējiet lapas, kas indeksētas kā 1, darbgrāmatas pēdējā pozīcijā neatkarīgi no pēdējās lapas nosaukuma:

 Lapas (1) .Kopējiet pēc: = lapas (lapas). 

Kopējiet lapas, kas indeksētas kā 10 darbgrāmatas sākumā, neatkarīgi no pēdējās lapas nosaukuma:

 Lapas (10) .Kopējiet pirms: = Loksnes (1) 

Jūs vēlaties kopēt vairākas aktīvās darbgrāmatas lapas jaunā darbgrāmatā:

 Lapas (Array ("Sheet1", "Sheet3", "Sheet5")) 

Pievienot metodi

Izveido jaunu izklājlapu (grafikas vai makro). Jaunā darblapa kļūst par aktīvo lapu.

Šī jaunā lapa nesatur datus vai formatējumu.

Sintakse

izteiksme .Pievienot ( pirms, pēc, skaits, veids )

Izteiksme var būt vai nu lapas vai darblapas objekts.

Pirms, pēc, skaitīšanas un tipa parametri ir obligāti.

Vai nu pirms un pirms - varat norādīt tikai vienu no šiem parametriem. Tie ir varianta tipa un var attēlot lapu, kas atrodas pirms vai pēc kopēšanas.

Skaitļa parametrs ir arī variants. Tas attēlo lapu skaitu, ko vēlaties pievienot.

Parametra tips ir tā veida loksne, kuru vēlaties pievienot.

  • xlWorkSheet - pievieno darblapu
  • xlChart - pievieno diagrammas lapu
  • xlExcel4MacroSheet - pievieno makro lapu (Excel4)
  • xlExcel4IntlMacroSheet - reklamē makro lapu
  • xlDialogSheet - pievieno dialoglodziņu.

NB! Neaizmirstiet pārdēvēt savus parametrus vai sintakse atgriezīs zemāk minēto kļūdu:

 ActiveWorkbook.Sheets.Add Pirms: = darblapas (Worksheets.Count),, 1, xlChart 

Lietošanas piemēri

Pēc pēdējā darbgrāmatas lapas ievietojiet lapu:

 Lapas.Pievienot pēc: = darblapas (darblapas.Skaits) 

Aktīvās darbgrāmatas "pirmajā pozīcijā" pievieno trīs lapas:

 ActiveWorkbook.Sheets.Add Pirms: = darblapas (1), skaits: = 3 

Pēc lapas ar nosaukumu "Sheet4" pievieno diagrammas lapu darbgrāmatā ar nosaukumu "Wbk18" (Open!)

 Darbgrāmatas ("Wbk18"). Loksnes.Pievienot pēc: = darblapas ("Sheet4"), tips: = xlChart 

Lapas pārbaude

Pārbaudiet, vai darbgrāmatā jau ir lapa

 'Testu la feuille existe déjà Funkcija Feuil_Exist (strWbk kā virkne, strWsh kā virkne) Kā Būla "Gestionnaire d'erreur On Error Resume Next" "Test" Feuil_Exist = (Darbgrāmatas (strWbk). Lapas (strWsh) .Name = strWsh) Beigu funkcija 

Pārbaudiet, vai faila nosaukumā ir aizliegtas rakstzīmes

 Funkcija Valid_Name (strName As String, StrChr kā String) Kā Boolean Dim i kā baits, Tb_Car () String, strProhib Kā String strProhib = "/: *?" "|" “Liste des caractères à éviter Tb_Car = Split (StrConv (strProhib, vbUnicode), Chr $ (0))“ Boucle sur tous caractères à éviter ”(0) ) “En effet, la chaine se terminant par un Chr (0) il convient d'exclure ce dernier caractère Par i = LBound (Tb_Car) uz UBound (Tb_Car) - 1 'Pārbaudiet, vai ir aizliegts veikt darbību, ja tas ir InStr (strName, Tb_Car (i))> 0 Tad "Si oui: Return False Valid_Name = False" ET Retourne le caractère aizliegums strChr = Tb_Car (i) Iziet no funkciju beigas Ja nākamais i 'Si OK: Atgriezties True Valid_Name = True End funkcija 

Zvanīšana verifikācijas funkcijai

Kods ir vienāds gan kopēšanas, gan pievienošanas metodei.
 Sub Principale () Dim strNewName Kā String, strCara Kā String strNewName = "New Sheet" Ja Valid_Name (strNewName, strCara) = False Tad MsgBox "Le nom:" & strNewName & "est invalide." & vbCrLf & _ "Un nom de feuille ne peut pas contenir le caractère:" & strCara, vbCritical Iziet Sub End Ja Ja Feuil_Exist (ThisWorkbook.Name, strNewName) = True Tad MsgBox "Le nom:" & strNewName & "est invalide. " & vbCrLf & _ "Ce nom de feuille est déjà utilisé dans ce classeur.", vbCritical Exit Sub End Ja tas irWorkbook.Sheets.Add 'Ou: ThisWorkbook.Sheets ("Feuil1"). Kopēt pēc: = Lapas (Sheets.Count) ActiveSheet.Name = strNewName Beigas Sub 

Daži noderīgi padomi Office 2013

Office 2013 nodrošina divas papildu metodes tiem, kas redzami iepriekš:
  • Kopējiet šūnu loku uz lapu un vairākām lapām
  • Diagrammu objektu kolekciju Add2 metode.

Kopējiet šūnu diapazonu, izmantojot FillAcrossSheets metodi

Šī metode ir pieejama tikai Office 2013. Jūs vēlaties kopēt šūnu diapazonu no "Sheet1" uz "Sheet3", "Sheet5" un "Sheet7".

 Loksnes = Array ("Sheet3", "Sheet5", "Sheet7") Loksnes (Loksnes). Aizpildiet tabulu darblapas ("Sheet1"). Diapazons ("A1: C5") 

Šīs metodes parametri ir šādi:

  • Diapazons: nepieciešams
  • Tips: pēc izvēles
  • xlFillWithAll: kopējiet saturu un formātus.
  • xlFillWithContents: kopējiet saturu.
  • xlFillWithFormats: Kopēt formātus.

Metode Add2

Šī metode ir pieejama tikai Office 2013. Šī metode attiecas uz Charts objektu kolekcijām un atgriež " Runtime " kļūdu, ja to lieto kopā ar Sheets un WorkSheets objektiem. Nav vairāk informācijas vietnē Microsoft.com, izņemot sintaksi:

izteiksme .Pievienot ( pirms, pēc, skaitīt, jauni )

Izteiksme ir darblapas objekts

Parametri ir identiski pievienošanas metodei, vienkārši nomainiet parametru Type ar NewLayout. Ja NewLayout ir iestatīts uz True, grafika tiek ievietota, izmantojot jaunos noteikumus.

Iepriekšējais Raksts Nākamais Raksts

Top Padomi