Nachádzate sa tu
07. Prvé Makro - Select, Copy, Paste, Delete method
V tomto tutoriáli napíšeme prvé Excel makro, ktoré nakopíruje Tabuľku A z Hárku1 zo Sheet1(Hárok1) do dvoch nových sheetov (Sheet2, Sheet3), pričom na záver pôvodnú tabuľku zo Sheet1 vymaže .
V skripte použijeme okrem .range a .cells, nasledovné nové metódy:
.Select - (vybrať)
.Copy - (nakopírovať)
.Paste – (vložiť)
.Delete, (vymazať )
Tu je script ktorý musí makro obsahovať . Môžete ho buď nakopírovať do nového modulu, alebo ho spustiť z dole priloženého Excel Makro súboru.
Sub copy_paste_macro() 'zaciatok skriptu a názov makra
'Vyber Tabulku A na Sheet1 ,ktorá sa nachádza v oblasti B1:F6
ThisWorkbook.Sheets("Sheet1").Select
Range("B1:F5").Select
'Nakopíruj vybratú oblast
Selection.Copy
'Aktivuj Sheet2 a vyber cielovú bunku kam vložit nakopírovanú Tabulku
'(v tomto prípade použijeme .cells method pre vybranie cielovej bunky)
ThisWorkbook.Sheets("Sheet2").Activate
Cells(2, 2).Select
'Vlož Tabulku
Selection.PasteSpecial
'zopakuj rovnaky postup pre Sheet3
ThisWorkbook.Sheets("Sheet1").Select
Range("B1:F5").Select
Selection.Copy
ThisWorkbook.Sheets("Sheet3").Activate
Cells(2, 2).Select
Selection.PasteSpecial
'vymaz povodnu tabulku - kod je napisany v niekolkych variantach, ktore maju rozne pouzitie
ThisWorkbook.Sheets("Sheet1").Select
Range("B1:F5").Select
Selection.ClearContents 'ClearContents vymaze obsah buniek pricom formatovanie zostane nezmenene
'Selection.Clear 'Clear vymaze obsah, ako aj formatovanie buniek
'Selection.Delete 'Delete odstrani bunky, pricom ostatne bunky posunie dolava
'Delete ma niekolko variant:
'.Delete Shift:=xlToLeft - posunie bunky dolava
'.Delete Shift:=xlToRight - posunie bunky doprava
'.Delete Shift:=xlUp - posunie bunky nahor
'.Delete Shift:=xlDown - posunie bunky nadol
'Ukonci skript
End Sub
Návod na rôzne spôsoby ako spustiť makro ponúka nasledovný tutoriál Ako spustiť Excel makro. Taktiež nezabudnite na Makro bezpečnosť.