Kopirajte celice iz vrstice ActiveCell na list zbirke podatkov z uporabo VBA v programu Microsoft Excel

Kazalo

V Microsoft Excelu lahko celice iz vrstice aktivne celice kopiramo na določen list. V tem članku bomo uporabili kodo VBA za prenos podatkov z vsakega lista in združili podatke v en delovni list. V delovni zvezek bomo dodali glavni list in podatke iz navedenega obsega shranili v en list.

Primeri kod se bodo kopirali na list baze podatkov z imenom Sheet2. Vsakič, ko zaženemo makro, bodo celice pod zadnjo vrstico s podatki za zadnjim stolpcem v listu 2. Ta makro bo kopiral celice iz stolpca A, D iz celice ActiveCell.

Sledi slika vzorčnih podatkov:

Za kopiranje celic iz vrstice activecell v Sheet2; Za zagon urejevalnika VB moramo slediti spodnjim korakom:

  • Kliknite zavihek Razvijalec
  • V skupini Koda izberite Visual Basic

  • Kliknite Vstavi in ​​nato Modul

  • To bo ustvarilo nov modul
  • V standardni modul vnesite naslednjo kodo
Sub CopyCells () Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Cells (_ ActiveCell.Row, 1) .Range ("A1: D1") Nastavi destrange = Sheets ("Sheet2"). Range ("A" & Lr) sourceRange.Copy destrange End End Sub 
Sub CopyCellsValues ​​() Zatemni virRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Cells (_ ActiveCell.Row, 1) .Range ("A1: D1") Z sourceRange Nastavi destrange = Sheets ("Sheet2"). Range ("A" _ & Lr) .Resize (.Rows.Count, .Columns.Count) End with destrange.Value = sourceRange.Value End Sub 
Funkcija LastRow (sh kot delovni list) o nadaljevanju napake naslednja lastRow = sh.Cells.Find (Kaj: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Napaka pri vklopu Pojdi na 0 Končaj funkcijo 
Funkcija Lastcol (sh kot delovni list) o nadaljevanju napake naslednji Lastcol = sh.Cells.Find (Kaj: = "*", _ After: = sh.Range ("A1"), _ Iskanje: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Stolpec pri napaki Pojdi na 0 Končaj funkcijo 

  • Če želite preveriti zgornjo kodo VBA; dodajte podatke v obseg »A1: D1« in nato zaženite makro s pritiskom na bližnjico F5
  • Podatki, shranjeni v določenem obsegu, se bodo od A1 kopirali na “List2”

  • Če znova zaženemo ta makro; podatki bodo shranjeni v naslednji vrstici; glej spodnjo sliko:

  • V zgornjem makroju lahko spremenimo obseg, ki ustreza našim zahtevam

Zaključek: Z zgornjim makrom lahko s kodo VBA kopiramo celice iz vrstice aktivne celice na nov list.

Če so vam bili naši blogi všeč, jih delite s prijatelji na Facebooku. Prav tako nas lahko spremljate na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo, dopolnimo ali inoviramo svoje delo in ga izboljšamo. Pišite nam na spletni strani elektronske pošte

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave