- Kopirajte radni list u novu radnu knjigu
- Kopirajte više listova u novu radnu knjigu
- Kopiraj list unutar iste radne knjige
- Premjesti list
- Kopija i imenski list
- Kopirajte radni list u drugu radnu knjigu
- Kopirajte radni list u zatvorenu radnu knjigu
- Kopirajte list iz druge radne knjige bez otvaranja
- Duplirani Excel list više puta
Ovaj vodič će pokriti kako kopirati list ili radni list pomoću VBA.
Kopirajte radni list u novu radnu knjigu
Da biste kopirali radni list u novu radnu knjigu:
1 | Listovi ("List1"). Kopiraj |
Kopirajte ActiveSheet u novu radnu knjigu
Da biste kopirali ActiveSheet u novu radnu knjigu:
1 | ActiveSheet.Copy |
Kopirajte više listova u novu radnu knjigu
Da biste kopirali više listova u novu radnu knjigu:
1 | ActiveWindow.SelectedSheets.Copy |
Kopiraj list unutar iste radne knjige
Počeli smo tako što smo vam pokazali najjednostavniji primjer primjeraka listova: kopiranje listova u novu radnu knjigu. Ovi primjeri u nastavku pokazat će vam kako kopirati list u istoj radnoj knjizi. Prilikom kopiranja lista unutar radne knjige morate navesti lokaciju. Da biste naveli lokaciju, reći ćete VBA -u da premjesti radni list PRIJE ili NAKON drugog radnog lista.
Kopirajte list prije drugog lista
Ovdje ćemo navesti kopiranje i lijepljenje lista prije lista 2
1 | Listovi ("List 1"). Kopiraj prije: = Listovi ("List 2") |
Kopirajte list prije prvog lista
Umjesto da navedete naziv lista, možete odrediti i položaj lista. Ovdje kopiramo i lijepimo list prije prvog lista u radnoj bilježnici.
1 | Listovi ("List 1"). Kopiraj prije: = Listovi (1) |
Novonastali list sada će biti prvi list u radnoj knjizi.
Kopiraj list nakon posljednjeg lista
Pomoću svojstva After recite VBA da zalijepi list NAKON drugog lista. Ovdje ćemo kopirati i zalijepiti list nakon posljednjeg lista u radnoj knjizi:
1 | Listovi ("List 1"). Kopiraj nakon: = Listovi (Tablice.Broj) |
Uočite da smo koristili listove. Prebroji za brojanje listova u radnoj knjizi.
Premjesti list
Također možete premjestiti list unutar radne knjige koristeći sličnu sintaksu. Ovaj kôd pomaknut će List 1 na kraj radne knjige:
1 | Listovi ("List 1"). Premjesti nakon: = Listovi (Listovi.Broj) |
Kopija i imenski list
Nakon kopiranja i lijepljenja lista, novonastali list postaje ActiveSheet. Dakle, za preimenovanje našeg novog lista, jednostavno upotrijebite ActiveSheet.Name:
123456 | Sub CopySheetRename1 ()Listovi ("List 1"). Kopiraj nakon: = Listovi (Tablice.Broj)ActiveSheet.Name = "Zadnji list"Kraj podm |
Ako naziv lista već postoji, gornji kôd generirat će pogrešku. Umjesto toga možemo upotrijebiti “Next On Error Resume Next” kako bismo VBA -i rekli da zanemari imenovanje lista i nastavi s ostatkom postupka:
12345678 | Sub CopySheetRename2 ()Listovi ("List 1"). Kopiraj nakon: = Listovi (Tablice.Broj)Uključeno Slijedi nastavak greškeActiveSheet.Name = "Zadnji list"Uključeno Greška Idi na 0Kraj podm |
Ili upotrijebite našu funkciju RangeExists za testiranje postoji li naziv lista prije pokušaja kopiranja lista:
123456789101112131415161718 | Sub CopySheetRename3 ()Ako RangeExists ("LastSheet") TadaMsgBox "List već postoji."DrugoListovi ("List 1"). Kopiraj nakon: = Listovi (Tablice.Broj)ActiveSheet.Name = "Zadnji list"Završi akoKraj podmRaspon funkcijaExists (WhatSheet As String, Opcijski ByVal WhatRange As String = "A1") Kao BooleanDim test kao rasponUključeno Slijedi nastavak greškePostavi test = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RasponPostoji = Broj greške = 0Uključeno Greška Idi na 0Završna funkcija |
Kopiraj i imenski list na temelju vrijednosti ćelije
Možda ćete htjeti kopirati i dati naziv listu na temelju vrijednosti ćelije. Ovaj će kôd nazvati Radni list na temelju vrijednosti ćelije u A1
12345678 | Sub CopySheetRenameFromCell ()Listovi ("List 1"). Kopiraj nakon: = Listovi (Tablice.Broj)Uključeno Slijedi nastavak greškeActiveSheet.Name = Raspon ("A1"). VrijednostUključeno Greška Idi na 0Kraj podm |
Kopirajte radni list u drugu radnu knjigu
Do sada smo radili s kopiranjem tablica u radnoj knjizi. Sada ćemo obraditi primjere kopiranja i lijepljenja tablica u druge radne knjige. Ovaj kôd će kopirati list na početak druge radne knjige:
1 | Listovi ("List 1"). Kopiraj prije: = Radne knjige ("Primjer.xlsm"). Listovi (1) |
Ovo će kopirati radni list na kraj druge radne knjige.
1 | Listovi ("List 1"). Kopiraj nakon: = Radne knjige ("Primjer.xlsm"). Listovi (Radne knjige ("Primjer.xlsm"). Listovi.Broj) |
Primijetite da smo zamijenili 1 s Radne bilježnice (“Primjer.xlsm”). Listovi.Broj da biste dobili posljednji radni list.
Kopirajte radni list u zatvorenu radnu knjigu
Možda biste htjeli kopirati i radni list u zatvorenu radnu knjigu. Ovaj kôd će otvoriti zatvorenu radnu knjigu tako da u nju možete kopirati list.
123456789 | Sub CopySheetToClosedWB ()Application.ScreenUpdating = NetačnoPostavi closedBook = Workbooks.Open ("D: \ Dropbox \ excel \ articles \ example.xlsm")Listovi ("List1"). Kopiraj prije: = zatvorenaKnjiga. Listovi (1)closedBook.Close SaveChanges: = IstinaApplication.ScreenUpdating = IstinaKraj podm |
Kopirajte list iz druge radne knjige bez otvaranja
Nasuprot tome, ovaj kôd će kopirati radni list IZ zatvorene radne knjige bez da morate ručno otvarati radnu knjigu.
123456789 | Sub CopySheetFromClosedWB ()Application.ScreenUpdating = NetačnoPostavi closedBook = Workbooks.Open ("D: \ Dropbox \ excel \ articles \ example.xlsm")closedBook.Sheets ("Sheet1"). Copy Before: = ThisWorkbook.Sheets (1)closedBook.Close SaveChanges: = FalseApplication.ScreenUpdating = IstinaKraj podm |
Uočite da smo u oba ova primjera onemogućili ažuriranje zaslona pa se proces izvodi u pozadini.
Duplirani Excel list više puta
Također možete više puta duplicirati Excel list pomoću petlje.
1234567891011121314 | Sub CopySheetMultipleTimes ()Dim n kao cijeli brojDim i Kao cijeli brojUključeno Slijedi nastavak grešken = InputBox ("Koliko kopija želite napraviti?")Ako je n> 0 TadaZa i = 1 To nActiveSheet.Copy After: = ActiveWorkbook.Sheets (Radni listovi.Broj)SljedećiZavrši akoKraj podm |