Včasih boste morda želeli ali morali ustvariti Excelov delovni zvezek na avtomatiziran način. Morda boste morali na primer kopirati podatke iz tabele in jih prilepiti v novo ustvarjen delovni zvezek. Naslednji makro kopira obseg celic z aktivnega lista in prilepi podatke v nov delovni zvezek.
Kako deluje makro
Kot boste videli, ko boste prebrali vrstice kode, je ta makro relativno intuitiven:
Podmakro1()
1. korak Kopirajte podatke
Listi("Primer 1").Razpon("B4:C15").Kopiraj
2. korak Ustvarite nov delovni zvezek
Delovni zvezki.Dodaj
3. korak Prilepite podatke
ActiveSheet.Prilepi Destination:=Range("A1")
4. korak Izklopite opozorila aplikacij
Application.DisplayAlerts = False
'5. korak Shranite novo ustvarjeni delovni zvezek
ActiveWorkbook.Shrani kot _
Ime datoteke:="C:TempMyNewBook.xlsx"
6. korak Znova vklopite opozorila aplikacij
Application.DisplayAlerts = True
Končni sub
V 1. koraku preprosto kopirate podatke, ki segajo od celic B4 do C15. Upoštevajte, da podate tako list kot obseg po imenu. Ta pristop je najboljša praksa pri delu z več odprtimi delovnimi zvezki.
V 2. koraku uporabite metodo Dodaj predmeta Delovni zvezek, da ustvarite delovni zvezek. Prazen delovni zvezek je enakovreden ročnemu izbiri Datoteka→ Novo→ Prazen dokument na Excelovem traku.
V 3. koraku uporabite metodo Prilepi, da pošljete kopirane podatke v celico A1 novega delovnega zvezka.
Bodite pozorni na dejstvo, da se koda nanaša na objekt ActiveSheet. Ko dodate delovni zvezek, se novi delovni zvezek takoj osredotoči in postane aktiven delovni zvezek. (Excel naredi enako, ko delovni zvezek dodate ročno.)
V 4. koraku kode nastavite metodo DisplayAlerts na False, kar dejansko izklopi opozorila programa Excel. To storite, ker v naslednjem koraku kode shranite novo ustvarjeni delovni zvezek. Ta makro lahko zaženete večkrat, v tem primeru pa Excel poskuša datoteko večkrat shraniti.
Kaj se zgodi, če poskusite večkrat shraniti delovni zvezek? Tako je – Excel vas opozori, da že obstaja datoteka s tem imenom, in nato vpraša, ali želite prepisati prej obstoječo datoteko. Ker je vaš cilj avtomatizirati ustvarjanje delovnega zvezka, želite to opozorilo onemogočiti.
V 5. koraku datoteko shranite z metodo SaveAs. Upoštevajte, da vnesete celotno pot do mesta shranjevanja, vključno s končnim imenom datoteke.
Ker ste v 4. koraku izklopili spremembe aplikacij, jih morate znova vklopiti (glejte 6. korak). Če tega ne storite, Excel še naprej zatira vsa opozorila med trenutno sejo.
Kako uporabljati makro
Če želite implementirati ta makro, ga lahko kopirate in prilepite v standardni modul:
Aktivirajte urejevalnik Visual Basic s pritiskom na Alt+F11.
Z desno tipko miške kliknite ime projekta/delovnega zvezka v oknu projekta.
Izberite Vstavi → Modul.
V novo ustvarjeni modul vnesite ali prilepite kodo.
Verjetno boste morali spremeniti ime lista, naslov obsega in lokacijo shranjevanja.