Kopeerige lahtrid ActiveCelli realt andmebaasilehele, kasutades Microsoft Excelis VBA -d

Lang L: none (table-of-contents)

Microsoft Excelis saame aktiivse lahtri realt lahtreid kopeerida kindlale lehele. Selles artiklis kasutame VBA -koodi andmete edastamiseks igalt lehelt ja ühendame andmed üheks tööleheks. Lisame töövihikusse põhilehe ja salvestame määratud vahemiku andmed ühele lehele.

Näidekoodid kopeeritakse andmebaasilehele nimega Sheet2. Iga kord, kui käivitame makro, paigutatakse lahtrid viimase lehe alla, kus on andmed pärast lehe 2 veergu. See makro kopeerib lahtrid veerust A, D ActiveCellist.

Allpool on näidisandmete pilt:

Lahtrite kopeerimiseks aktiivraku realt lehele2; VB redaktori käivitamiseks peame järgima järgmisi samme:

  • Klõpsake vahekaarti Arendaja
  • Valige koodigrupist Visual Basic

  • Klõpsake nuppu Sisesta ja seejärel Moodul

  • See loob uue mooduli
  • Sisestage standardmoodulisse järgmine kood
Sub CopyCells () Dim sourceRange As Range Dim dimrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Lahtrid (_ ActiveCell.Row, 1). ("A1: D1") Määra destrange = Sheets ("Sheet2"). Vahemik ("A" ja Lr) sourceRange.Copy destrange End Sub 
Sub CopyCellsValues ​​() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Lahtrid (_ ActiveCell.Row, 1). ("A1: D1") SourceRange Set destrange = Sheets ("Sheet2"). Vahemik ("A" _ & Lr) .Resize (.Rows.Count, .Columns.Count) Lõpetab destrange.Value = sourceRange.Value End Sub 
Funktsioon LastRow (sh töölehena) Vea korral Jätka järgmisel LastRow = sh.Cells.Find (Mis: = "*", _ Pärast: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Rida sees Viga GoTo 0 End Function 
Funktsioon Lastcol (sh töölehena) Vea korral Jätka järgmisel Lastcol = sh.Cells.Find (Mis: = "*", _ Pärast: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Veerg vea korral GoTo 0 End Function 

  • Ülaltoodud VBA koodi kontrollimiseks; lisage andmed vahemikku „A1: D1” ja käivitage makro, vajutades kiirklahvi F5
  • Määratud vahemikku salvestatud andmed kopeeritakse lehest A1 alates lehest 2

  • Kui käivitame selle makro uuesti; andmed salvestatakse järgmisel real; vaadake allolevat pilti:

  • Ülaltoodud makro vahemikku saame muuta vastavalt meie nõudmistele

Järeldus: Ülaltoodud makro abil saame VBA koodi abil aktiivse lahtri realt rakke uuele lehele kopeerida.

Kui teile meeldisid meie ajaveebid, jagage seda oma sõpradega Facebookis. Samuti saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd täiustada, täiendada või uuendada ning muuta see teie jaoks paremaks. Kirjuta meile meilisaidile

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave