Kopirajte ćelije iz reda ActiveCell u redak baze podataka pomoću VBA u programu Microsoft Excel

Anonim

U Microsoft Excelu možemo kopirati ćelije iz retka aktivne ćelije na određeni list. U ovom ćemo članku koristiti VBA kôd za prijenos podataka sa svakog lista i spojiti podatke u jedan radni list. Dodati ćemo glavni list u radnu knjigu i spremiti podatke iz navedenog raspona u jedan list.

Primjeri kodova kopirat će se na list baze podataka s imenom Sheet2. Svaki put kad pokrenemo makro, ćelije će biti postavljene ispod posljednjeg retka s podacima nakon posljednjeg stupca u listu 2. Ovaj će makro kopirati ćelije iz stupca A, D iz ActiveCell -a.

Slijedi slika uzorka podataka:

Za kopiranje ćelija iz reda aktivne ćelije u List 2; moramo pokrenuti donje korake za pokretanje VB uređivača:

  • Kliknite karticu Developer
  • Iz grupe kodova odaberite Visual Basic

  • Pritisnite Umetni pa Modul

  • Ovo će stvoriti novi modul
  • Unesite sljedeći kôd u standardni modul
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") Postavi odredišni raspon = Listovi ("List 2"). Raspon ("A" & Lr) sourceRange.Copy destrange End End Sub 
Sub CopyCellsValues ​​() Zatamni 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") S sourceRange Postavi destrange = Sheets ("Sheet2"). Range ("A" _ & Lr) .Resize (.Rows.Count, .Columns.Count) End With destrange.Value = sourceRange.Value Kraj podm 
Funkcija LastRow (sh kao radni list) o grešci Nastavi sljedeći LastRow = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Greška pri ponovnom uključivanju Idi na 0 Završi funkciju 
Funkcija Lastcol (sh As Radni list) O grešci Nastavi Sljedeći Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ Naredba za pretraživanje: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Stupac uključen Greška Idi na 0 Kraj funkcije 

  • Za provjeru gornjeg VBA koda; dodajte podatke u rasponu “A1: D1”, a zatim pokrenite makronaredbu pritiskom na tipku prečaca F5
  • Podaci pohranjeni u navedenom rasponu kopirat će se na “Sheet2” počevši od A1

  • Ponovno pokrenemo ovaj makro; podaci će biti spremljeni u sljedeći redak; pogledajte donju sliku:

  • Možemo promijeniti raspon u gornjoj makronaredbi koja odgovara našim zahtjevima

Zaključak: Pomoću gornje makronaredbe možemo kopirati ćelije iz reda aktivne ćelije na novi list pomoću VBA koda.

Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku.

Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte