Skopírujte aktuálny rozsah buniek programu Excel do novej tabuľky pomocou makra VBA

Obsah

Na úplné prenesenie údajov z aktuálneho rozsahu buniek do novej tabuľky potrebujete vedieť, aký veľký rozsah použitých buniek je okolo aktívnej bunky. Alebo môžete nechať Excel, aby to urobil za vás, a skopírovať g

Chcete automaticky skopírovať všetky bunky zo súvislého radu buniek v makre? To je obzvlášť užitočné, ak chcete flexibilne reagovať na vstupy od používateľov a neviete, aké veľké sú zadané oblasti údajov.

Na vykonanie tejto úlohy môžete použiť makro. Makro určí všetky bunky okolo aktívnej bunky a presne tieto bunky skopíruje do nového zošita.

Nasledujúci obrázok zobrazuje tabuľku s tromi rôznymi dátovými oblasťami. Sú farebne odlíšené, aby boli lepšie viditeľné.

Všetky bunky, ktoré sa spájajú so susednými bunkami bez prázdnych buniek, sa považujú za patriace k sebe.

Vhodným makrom môžete zaistiť, že po kliknutí na bunku v rozsahu buniek sa všetky bunky, ktoré k nej patria, skopírujú do novej tabuľky. Tu je príslušný kód programu:

Aktuálna oblasť vedľajšej kópie ()
Stmaviť oblasť zdroja ako rozsah
Stmaviť nový hárok ako pracovný hárok
Nastaviť oblasť zdroja = ActiveCell.CurrentRegion
Nastaviť NeuesBlatt = zošity.Add.Worksheets (1)
Oblasť zdroja. Cieľ kopírovania: = NeuesBlatt.Range ("A1")
Koniec pod

Pred zavolaním makra kliknite na ľubovoľnú bunku v tabuľke. Makro určí všetky bunky, ktoré spolu s vybratou bunkou patria do rozsahu, a skopíruje tento rozsah údajov do nového prázdneho zošita. Nasledujúci obrázok ukazuje, ako vyzerá výsledok po vyvolaní makra, ak je pred spustením makra vybratá bunka E9 v tabuľke z prvého obrázku.

Ak chcete zadať makro, stlačením klávesu ALT F11 v programe Excel otvorte editor VBA. V editore VBA zvoľte príkaz VLOŽIŤ - MODUL a zadajte makro. Na spustenie makra aktivujte v Exceli kombináciu klávesov ALT F8. Dve klávesové skratky na spustenie editora VBA a makra fungujú vo všetkých verziách programu Excel.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave