Kopējiet šūnas no ActiveCell rindas uz datu bāzes lapu, izmantojot Microsoft Excel VBA

Satura rādītājs

Programmā Microsoft Excel mēs varam kopēt šūnas no aktīvās šūnas rindas uz noteiktu lapu. Šajā rakstā mēs izmantosim VBA kodu, lai pārsūtītu datus no katras lapas un apvienotu datus vienā darblapā. Mēs pievienosim darblapai pamatlapu un saglabāsim datus no norādītā diapazona vienā lapā.

Piemēru kodi tiks kopēti datu bāzes lapā ar nosaukumu Sheet2. Katru reizi, kad mēs izpildām makro, šūnas tiks novietotas zem pēdējās rindas ar datiem pēc pēdējās lapas 2. kolonnas. Šis makro kopēs šūnas no kolonnas A, D no ActiveCell.

Tālāk ir sniegts parauga datu attēls:

Lai kopētu šūnas no aktīvo šūnu rindas uz lapu 2; mums ir jāveic šādas darbības, lai palaistu VB redaktoru:

  • Noklikšķiniet uz cilnes Izstrādātājs
  • Kodu grupā atlasiet Visual Basic

  • Noklikšķiniet uz Ievietot, pēc tam uz moduļa

  • Tādējādi tiks izveidots jauns modulis
  • Standarta modulī ievadiet šādu kodu
Sub CopyCells () Dim sourceRange As Diapazons Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Šūnas (_ ActiveCell.Row, 1). ("A1: D1") Set destrange = Sheets ("Sheet2"). Diapazons ("A" un 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"). Šūnas (_ ActiveCell.Row, 1). ("A1: D1") Ar sourceRange Set destrange = Sheets ("Sheet2"). Diapazons ("A" _ & Lr) .Resize (.Rows.Count, .Columns.Count) Beidzas ar destrange.Value = sourceRange.Value Beigu apakš 
Funkcija LastRow (sh kā darblapa) Par kļūdu Atsākt nākamo LastRow = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Rindas kļūda GoTo 0 End Function 
Funkcija Lastcol (sh kā darblapa) Par kļūdu Atsākt nākamo Lastcol = sh.Cells.Find (Kas: = "*", _ Pēc: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Kolonna On Error GoTo 0 End Function 

  • Lai pārbaudītu iepriekš minēto VBA kodu; pievienojiet datus diapazonā “A1: D1” un pēc tam palaidiet makro, nospiežot īsinājumtaustiņu F5
  • Norādītajā diapazonā saglabātie dati tiks pārkopēti uz “Sheet2”, sākot no A1

  • Ja mēs vēlreiz palaist šo makro; dati tiks saglabāti nākamajā rindā; skatiet zemāk esošo attēlu:

  • Mēs varam mainīt iepriekšminētā makro diapazonu, kas atbilst mūsu prasībām

Secinājums: Izmantojot iepriekš minēto makro, mēs varam kopēt šūnas no aktīvās šūnas rindas uz jaunu lapu, izmantojot VBA kodu.

Ja jums patika mūsu emuāri, kopīgojiet to ar saviem draugiem Facebook. Un arī jūs varat sekot mums Twitter un Facebook.

Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot, papildināt vai ieviest jauninājumus mūsu darbā un uzlabot to jūsu labā. Rakstiet mums e -pasta vietnē

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave