VBA Kopioi laskentataulukko - Kuinka laskentataulukkoa käytetään.

Excel VBA Kopioi laskentataulukko

Joskus joudumme ehkä kopioimaan tietyn solualueen yhdestä laskentataulukosta toiseen tai samaan taulukkoon itse. Joissakin tapauksissa meidän on ehkä kopioitava koko laskentataulukko uuteen laskentataulukkoon. Saatat olla perehtynyt solualueen kopiointiin, mutta miten kopioida koko laskentataulukko itse VBA: n avulla. Tässä artikkelissa annamme sinulle yksityiskohtaisen selvityksen laskentataulukon kopioimisesta toiseen VBA-työkirjaan.

Laskentataulukko. Kopiointimenetelmä VBA: ssa

Tarkastele ensin laskentataulukon kopiointimenetelmän syntaksia.

Laskentataulukko (). Kopioi (ennen, jälkeen)

Kopiointimenetelmässä on kaksi argumenttia Before & After; molemmat ovat valinnaisia.

  1. Ennen: Kohdistettu laskentataulukko, jota kopioimme. Jos määrität tämän, et voi käyttää After- argumenttia.
  2. Jälkeen: Kohdistettu laskentataulukko, jota kopioimme. Jos määrität tämän, et voi käyttää Ennen- argumenttia.

Koska molemmat ovat valinnaisia ​​argumentteja, jos jätit sen tyhjäksi, kohdennettu laskentataulukko kopioidaan uuteen työkirjaan, Microsoft Excel luo automaattisesti uuden työkirjan.

Näemme samoja esimerkkejä nyt esimerkkien osiosta.

Esimerkkejä kopiointitaulukosta VBA: ssa

Esimerkki 1

Katso esimerkiksi alla olevia tietoja taulukossa nimeltä tammikuu.

Meillä on yllä olevat tiedot taulukossa nimeltä tammikuu .

  • Joten meidän on kopioitava yllä oleva laskentataulukko " Sheet1 " -nimisen taulukon jälkeen . Katso ensin laskentataulukkoa käyttämällä laskentataulukko-objektia.

Koodi:

Alitaulukko_Kopio_esimerkki1 () Taulukot ("tammikuu") Loppu alaviite
  • Anna seuraavaksi Kopioi- menetelmä.

Koodi:

Alitaulukko_Kopio_esimerkki1 () laskentataulukot ("tammikuu"). Kopioi loppuosa
  • Kuten edellä kirjoittaessasi näet, emme näe laskentataulukko-objektin IntelliSense-luetteloa, tämä on yksi merkittävimmistä ongelmista aloittelijoille, jos he käyttävät suoraan TYÖLAPUT-objektia, mutta tämä voidaan poistaa käyttämällä muuttujia, joten määritä muuttuja nimellä " laskentataulukko ".

Koodi:

Alitaulukko_Kopio_esimerkki1 () Himmennä Ws laskentataulukon lopun alialustana
  • Nyt tämä muuttuja aseta laskentataulukon viite “ tammikuu ”.

Koodi:

Alitaulukko_Kopio_esimerkki1 () Himmennä Ws taulukkosarjana Ws = Laskentataulukot ("tammikuu") Loppu
  • Joten nyt käyttämällä muuttujaa " Ws " voimme helposti viitata laskentataulukkoon nimeltä " tammikuu ". Syötä siis muuttujan nimi “ Ws ” ja valitse ” Kopioi ” -menetelmä.

Siellä voimme nähdä IntelliSense-luettelon, joka näyttää kaikki taulukon objektien ominaisuudet ja menetelmät muuttuja-ilmoituksen ansiosta.

  • Valitse " Kopioi " -menetelmä, niin voimme nähdä " Kopioi " -menetelmän argumentit .
  • Koska meidän on kopioitava laskentataulukko taulukon " Sheet1 " jälkeen, pääset ensin " After " -argumenttiin syöttämällä argumentin nimen kuten alla.

Kun argumentti on korostettu, koska olemme käyttäneet argumentin nimeä, jonka symboli on " sama määritelmän mukaan " (: =)

  • Kirjoita nyt taulukon nimi käyttämällä " Sheets " -objektia.

Koodi:

Alitaulukko_Kopio_esimerkki1 () Himmennä Ws taulukkosarjana Ws = Laskentataulukot ("Tammikuu") Ws.Kopioi jälkeen: = Arkit ("Taulukko1") Loppu
  • Olemme valmiita. Tämä kopioi taulukon “ Tammikuu ” taulukon ” Taulukko1 ” jälkeen.

Siellä olet kopioinut tammikuun laskentataulukon "Sheet1" oikealle. Yksi oletustekijöistä on, että laskentataulukon nimi on sama kuin kopioitu taulukko ja suluessa olevan laskentataulukon numero, tässä tapauksessa se on "(2)".

  • Jos haluat muuttaa laskentataulukon nimeä, lisää alla oleva koodinpätkä yllä olevaan koodiin.
  • So the overall code is below.

Code:

Sub Worksheet_Copy_Example1() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets("Sheet1") ActiveSheet.Name = “New Copied Sheet” End Sub
  • Now run the code and see what happens.

Example #2

Similarly, if you want to copy the worksheet “Sheet1” before the worksheet “January” uses the below code.

Code:

Sub Worksheet_Copy_Example2() Dim Ws As Worksheet Set Ws = Worksheets("Sheet1") Ws.Copy Before:=Sheets("January") ActiveSheet.Name = "New Sheet1" End Sub
  • So this will create a sheet-like the below.

Example #3

Similarly, if you want to copy the worksheet after the last worksheet then use the below code.

Code:

Sub Worksheet_Copy_Example3() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = "Last Sheet" End Sub

Output:

The only change we made is we have used “Sheets. Count” method to count how many sheets are there in the workbook.

Example #4

Similarly, if you want to copy the worksheet before the first worksheet then use the below code.

Code:

Sub Worksheet_Copy_Example4() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets(1) ActiveSheet.Name = "First Sheet" End Sub

Output:

In this case, we have used “Sheets(1)” so this will place the worksheet copied before the first worksheet of the workbook.

Things to Remember

  • Suppose you don’t use either Before & After argument of the Worksheet. Copy worksheets will be copied to the new workbook altogether.
  • Kopioidun laskentataulukon oletusnimi on sama, jota seuraa kopioidun laskentataulukon määrä.

Mielenkiintoisia artikkeleita...