VBA kopēšanas darblapa - kā izmantot darblapu. Kopēt?

Satura rādītājs

Excel VBA kopēšanas darblapa

Reizēm mums var būt nepieciešams kopēt noteiktu šūnu diapazonu no vienas darblapas uz otru vai tajā pašā darblapā. Dažos gadījumos mums var būt nepieciešams nokopēt visu darblapu jaunā darblapā. Jums var būt pazīstams šūnu diapazona kopēšana, bet kā būtu kopēt visu pašu darblapu, izmantojot VBA. Šajā rakstā mēs sniegsim jums detalizētu paskaidrojumu par to, kā kopēt darblapu citā VBA darbgrāmatā.

Darblapa. Kopēšanas metode VBA

Vispirms apskatiet metodes Darblapu kopēšana sintaksi.

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

Kopēšanas metodē ir divi argumenti Before & After; abi šie nav obligāti.

  1. Pirms: atlasītā darblapa, kuru mēs kopējam. Ja to norādāt, nevar izmantot argumentu Pēc .
  2. Pēc: atlasītā darblapa, kuru mēs kopējam. Ja to norādāt, nevar izmantot argumentu Pirms .

Tā kā abi šie ir izvēles argumenti, ja atstājat to tukšu, mērķauditorijas lapa tiks kopēta jaunā darbgrāmatā, Microsoft Excel automātiski izveido jaunu darbgrāmatu.

To pašu piemērus mēs redzēsim tagad piemēru sadaļā.

VBA kopiju darblapas piemēri

1. piemērs

Piemēram, darblapā ar nosaukumu “Janvāris” apskatiet zemāk redzamos datus.

Iepriekš minētie dati ir darblapā ar nosaukumu “Janvāris” .

  • Tātad, mums ir jākopē iepriekš minētā darblapa aiz darblapas ar nosaukumu “ Sheet1 ”. Pirmkārt, atsaucieties uz darblapu, izmantojot darblapu objektu.

Kods:

Apakšlapas darblapas_kopija_piemērs1 () darblapas ("janvāris") Beigu apakšnodaļa
  • Pēc tam ievadiet metodi “ Kopēt ”.

Kods:

Apakšdarblapas_kopija_piemērs1 () darblapas ("janvāris"). Kopēt beigu apakšnodaļu
  • Kā redzat iepriekš, sākot rakstīt, mēs neredzam objektu IntelliSense sarakstu darblapām, šī ir viena no nozīmīgākajām iesācēju problēmām, ja viņi tieši izmanto objektu WORKSHEETS, taču to var novērst, izmantojot mainīgos, tāpēc definējiet mainīgais kā “ Darblapa ”.

Kods:

Apakšlapa_kopija_piemērs1 () Dim Ws kā darblapas beigu apakšgrupa
  • Tagad šim mainīgajam iestatiet atsauci darblapai “ Janvāris ”.

Kods:

Sub darblapas_kopija_piemērs1 () Dim Ws kā darblapu kopa Ws = darblapas ("Janvāris") Beigas Sub
  • Tātad, izmantojot mainīgo “ Ws ”, mēs viegli varam atsaukties uz darblapu ar nosaukumu “ Janvāris ”. Tātad ievadiet mainīgā nosaukumu “ Ws ” un izvēlieties metodi “ Kopēt ”.

Turpinājumā mēs varam redzēt IntelliSense sarakstu, kurā parādītas visas darblapas objektu īpašības un metodes, pateicoties mainīgajai deklarācijai.

  • Izvēlieties metodi “ Kopēt ”, un mēs varam redzēt metodes “ Kopēt ” argumentus .
  • Tā kā mums ir jākopē darblapa pēc darblapas “ Sheet1 ”, vispirms piekļūstiet argumentam “ After ”, ievadot argumenta nosaukumu, piemēram, zemāk.

Pēc tam, kad arguments ir izcelts, jo esam izmantojuši argumenta nosaukumu ar simbolu “ pēc definīcijas vienāds ” (: =)

  • Tagad ievadiet lapas nosaukumu, izmantojot objektu “ Sheets ”.

Kods:

Apakšlapa Darblapa_kopija_piemērs1 () Dim Ws kā darblapu kopa Ws = Darblapas ("Janvāris") Ws.Copy After: = Izklājlapas ("Sheet1") Beigu apakšdaļa
  • Mēs esam pabeiguši. Pēc darba lapas “ Sheet1 ” tiks kopēta darblapa “ Janvāris ”.

Turpiniet, mēs esam nokopējuši janvāra darblapu pa labi no “Sheet1”. Viena no noklusējuma lietām ir tā, ka darblapas nosaukums ir tāds pats kā kopētās lapas ar iekavās esošās darblapas skaitlisko skaitu, šajā gadījumā tas ir “(2)”.

  • Lai mainītu darblapas nosaukumu, pievienojiet zemāk esošo koda daļu iepriekš minētajam kodam.
  • 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.
  • Noklusētais kopētās darblapas nosaukums būs tāds pats kā kopētās darblapas skaits.

Interesanti raksti...