Skopírujte bunky z riadka ActiveCell do hárka databázy pomocou jazyka VBA v programe Microsoft Excel

Anonim

V programe Microsoft Excel môžeme skopírovať bunky z radu activecell na konkrétny list. V tomto článku použijeme kód VBA na prenos údajov z každého hárka a zlúčenie údajov do jedného pracovného hárka. Do zošita pridáme kmeňový list a údaje zo zadaného rozsahu uložíme do jedného listu.

Vzorové kódy sa skopírujú do databázového listu s názvom List2. Bunky budú pri každom spustení makra umiestnené pod posledný riadok s údajmi za posledným stĺpcom v hárku2. Toto makro skopíruje bunky zo stĺpca A, D z ActiveCell.

Nasleduje obrázok vzorových údajov:

Ak chcete skopírovať bunky z radu activecell do hárka 2; na spustenie editora VB musíme vykonať nasledujúce kroky:

  • Kliknite na kartu Vývojár
  • Zo skupiny kódov vyberte Visual Basic

  • Kliknite na Vložiť a potom na Modul

  • Tým sa vytvorí nový modul
  • Do štandardného modulu zadajte nasledujúci kód
Sub CopyCells () Dim sourceRange As Range Dim dimrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Cells (_ ActiveCell.Row, 1) .Range ("A1: D1") Nastaviť destrange = Listy ("List2"). Rozsah ("A" & Lr) sourceRange.Copy destrange End Sub 
Sub CopyCellsValues ​​() Dim sourceRange As Range Dim distrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Cells (_ ActiveCell.Row, 1) .Range ("A1: D1") With sourceRange Set destrange = Sheets ("Sheet2"). Range ("A" _ & Lr) .Resize (.Rows.Count, .Columns.Count) End With destrange.Value = sourceRange.Value Koniec pod 
Funkcia LastRow (pracovný list sh As) Pri chybe Pokračovať Ďalej LastRow = sh.Cells.Find (Čo: = "*", _ Potom: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Riadok pri chybe GoTo 0 Ukončiť funkciu 
Funkcia Lastcol (pracovný list sh As) Pri chybe Pokračovať Ďalej Lastcol = sh.Cells.Find (Čo: = "*", _ Potom: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Stĺpec pri chybe GoTo 0 Ukončiť funkciu 

  • Ak chcete skontrolovať vyššie uvedený kód VBA; pridajte údaje v rozsahu „A1: D1“ a potom spustite makro stlačením klávesovej skratky F5
  • Údaje uložené v určenom rozsahu sa skopírujú do „Listu 2“ od A1

  • Ak toto makro znova spustíme; údaje sa uložia v nasledujúcom riadku; pozri obrázok nižšie:

  • Vo vyššie uvedenom makre môžeme zmeniť rozsah, ktorý vyhovuje našim požiadavkám

Záver: Pomocou vyššie uvedeného makra môžeme skopírovať bunky z radu activecell do nového hárka pomocou kódu VBA.

Ak sa vám páčili naše blogy, zdieľajte ich so svojimi priateľmi na Facebooku. A tiež nás môžete sledovať na Twitteri a Facebooku.

Radi by sme vás počuli, dajte nám vedieť, ako môžeme zlepšiť, doplniť alebo inovovať našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku