VBA - arkin lisääminen työkirjaan

VBA - arkin lisääminen työkirjaan

esittely

Riippuen tuloksesta, jonka haluat saavuttaa, voit käyttää seuraavaa:
  • Kopiointimenetelmä => Kopio olemassa olevasta arkista
  • Lisää menetelmä => Lisää uusi tyhjä arkki työkirjaasi.

Varmista myös, että uuden arkin nimi on yhteensopiva. Toisin sanoen arkin nimen ei pitäisi olla identtinen olemassa olevan kanssa tai sisältää kiellettyjä merkkejä. Molemmissa tapauksissa tarkastusmenetelmien tulisi olla samat.

Kopiointimenetelmä

Kopioi arkki. Uuden arkin tiedot ja muoto ovat identtiset lähdelomakkeen kanssa.

Syntaksi

ilmaus .Kopio ( ennen, jälkeen )

Ilmaus voi olla joko arkki- tai työarkki-objekti.

Ennen ja jälkeen -parametrit ovat valinnaisia. Voit määrittää vain yhden näistä kahdesta parametrista. Ne ovat versiotyyppiä, ja ne voivat edustaa arkkia paikan päällä ennen tai jälkeen kopioitavan. Jos parametri jätetään pois, arkki kopioidaan automaattisesti uuteen työkirjaan.

Mitä sitten tapahtuu?

Kun luot uuden arkin kopiointimenetelmällä:
  • Arkki luodaan haluttuun paikkaan (ennen tai jälkeen toisen työkirjan sivun)
  • Se nimetään uudelleen lähtölomakkeen nimen perusteella. Esimerkki: Sheet1 => Sheet1 (2)
  • Se on identtinen kopioidun arkin kanssa.
  • Siitä tulee aktiivinen arkki. Jos arkki kopioidaan uuteen työkirjaan, siitä tulee aktiivinen työkirja.

Esimerkkejä käytöstä

Kopioi "Sheet1" "Sheet3": n jälkeen

 Työarkit ("Sheet1") Kopioi jälkeen: = Työarkit ("Sheet3") 

Kopioi "Sheet4" ennen "Sheet2":

 Levyt ("Sheet4") Kopioi ennen: = Levyt ("Sheet2") 

Kopioi "recap" -lehti uuteen työkirjaan

 Laskentataulukot ( "kertaus"). Kopioi 

Kopioi taulukko, joka on indeksoitu 1: ksi työkirjan viimeiseen kohtaan, riippumatta viimeisimmän arkin nimestä:

 Levyt (1) .Kopio jälkeen: = arkit (arkit.Laskenta) 

Kopioi arkki, joka on indeksoitu 10: ksi työkirjan alussa, riippumatta viimeisimmän levyn nimestä:

 Levyt (10). Kopioi ennen: = Levyt (1) 

Haluat kopioida useita aktiivisen työkirjan sivuja uuteen työkirjaan:

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

Lisää menetelmä

Luo uuden laskentataulukon (grafiikka tai makro). Uusi laskentataulukko tulee aktiiviseksi arkiksi.

Tämä uusi arkki ei sisällä mitään tietoja tai muotoiluja.

Syntaksi

ilmaus .Add ( ennen, jälkeen, laskea, tyyppi )

Ilmaus voi olla joko arkki- tai työarkki-objekti.

Ennen, jälkeen, laskenta ja tyypin parametrit ovat valinnaisia.

Joko ja ennen - Voit määrittää vain yhden näistä parametreista. Ne ovat versiotyyppiä, ja ne voivat edustaa arkkia paikan päällä ennen tai jälkeen kopioitavan.

Count-parametri on myös Variantti. Se edustaa lisättävien arkkien määrää.

Tyyppi-parametri edustaa lisättävän arkin tyyppiä.

  • xlWorkSheet - lisää laskentataulukon
  • xlChart - lisää kaavion
  • xlExcel4MacroSheet - lisää makron (Excel4)
  • xlExcel4IntlMacroSheet - mainokset makro-arkille
  • xlDialogSheet - lisää valintaikkunan.

Huomaa: Älä unohda nimetä parametreja uudelleen tai syntaksi palauttaa alla olevan virheen:

 ActiveWorkbook.Sheets.Add Ennen: = Työarkit (Worksheets.Count),, 1, xlChart 

Esimerkkejä käytöstä

Laita arkki työkirjan viimeisen arkin jälkeen:

 Levyt.Lisää jälkeen: = Työarkit (laskentataulukot) 

Lisää kolme arkkia aktiivisen työkirjan "ensimmäiseen paikkaan":

 ActiveWorkbook.Sheets.Add Ennen: = Työarkit (1), Count: = 3 

Lisää taulukon "Wbk18" (Open!) Työkirjaan "Sheet4" -sivun jälkeen

 Työkirjat ("Wbk18") .Lehdet.Lisää jälkeen: = Työarkit ("Sheet4"), Tyyppi: = xlChart 

Levyn testaus

Tarkista, onko työkirjaa jo olemassa

 'Testauspaikkakunnan toiminta (strWbk as String, strWsh As String) Koska Boolen' Gestionnaire d'erreur On Error Resume Next '"Test" Feuil_Exist = (Työkirjat (strWbk) .Sheets (strWsh) .Name = strWsh) Lopeta toiminto 

Tarkista, sisältääkö tiedostonimi kiellettyjä merkkejä

 Toimintotunnisteiden testaus ja tarkistus Funktio Valid_Name (strName kuten merkkijono, strChr kuten merkkijono) Boolean Dim i: n tavana, Tb_Car () merkkijonoina strProhib kuten merkkijono strProhib = "/: *?" "|" 'Liste des caractères à éviter Tb_Car = Split (StrConv (strProhib, vbUnicode), Chr $ (0))' Boucle sur tous caractères à éviter 'Nota: le -1 est dû au Split de la chaine par le sārarateur Chr (0 ) 'En effet, la chaine se terminant par Chr (0) il convient d'exclure ce dernier caractère i = LBound (Tb_Car) Uboundiin (Tb_Car) - 1' Testaus kieltäytyy kiellosta ja kiellosta Jos InStr (strName, Tb_Car (i))> 0 Sitten 'Si oui: Return False Valid_Name = False' ET Retourne le caractère kielto strChr = Tb_Car (i) Poistu toiminnon loppuun Jos seuraava i 'Si OK: Palauta True Valid_Name = True End -toiminto 

Vahvistustoiminnon kutsuminen

Koodi on sama sekä kopiointi- että lisämenetelmässä.
 Sub Principale () Dim strNewName merkkijonoina, strCara Kuten String strNewName = "NewSheet" Jos Valid_Name (strNewName, strCara) = False Sitten MsgBox "Le nom:" & strNewName & "est invalide." & vbCrLf & _ "Un nom de feuille ne peut pas contenir le caractère:" & strCara, vbCritical Exit Sub End Jos If Feuil_Exist (ThisWorkbook.Name, strNewName) = True Sitten MsgBox "Le nom:" & strNewName & "est invalide. " & vbCrLf & _ "Ce nom de feuille est déjà utilisé dans ce classeur.", vbCritical Exit Sub End Jos tämäWorkbook.Sheets.Add 'Ou: ThisWorkbook.Sheets ("Feuil1"). Kopioi jälkeen: = Sheets (Sheets.Count) ActiveSheet.Name = strNewName End Sub 

Joitakin hyödyllisiä vinkkejä Office 2013: lle

Office 2013 tuo kaksi toisiaan täydentävää menetelmää aiemmin nähtyihin:
  • Kopioi solualue arkille ja useille arkkeille
  • Lisää2-menetelmä Charts-objektien kokoelmille.

Kopioi solualue FillAcrossSheets-menetelmällä

Tämä menetelmä on käytettävissä vain Office 2013: ssa. Haluat kopioida solualueen "Sheet1" - "Sheet3" -, "Sheet5" - ja "Sheet7" -lehdistä.

 Levyt = Array ("Sheet3", "Sheet5", "Sheet7") Levyt (arkit) .Täydennyslehtien työarkit ("Sheet1") Alue ("A1: C5") 

Tämän menetelmän parametrit ovat:

  • Alue: Pakollinen
  • Tyyppi: Valinnainen
  • xlFillWithAll: Kopioi sisältö ja muodot.
  • xlFillWithContents: Kopioi sisältö.
  • xlFillWithFormats: Kopioi tiedostomuodot.

Add2-menetelmä

Tämä menetelmä on käytettävissä vain Office 2013: ssa. Tätä menetelmää sovelletaan Charts-objektien kokoelmiin ja palauttaa Runtime- virheen, kun sitä käytetään Sheets and WorkSheets -objektien kanssa. Microsoft.comissa ei ole lisätietoja syntaksi lukuun ottamatta:

ilmaus .Add ( ennen, jälkeen, laskea, uusiLayout )

Expression edustaa työkirjan kohdetta

Parametrit ovat samat kuin Add-menetelmässä. Vaihda Type-tyypin parametri NewLayoutiin. Jos NewLayout on asetettu True-arvoon, grafiikka lisätään uusien sääntöjen avulla.

Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä