Kopieer cellen van de ActiveCell-rij naar een databaseblad met VBA in Microsoft Excel

Anonim

In Microsoft Excel kunnen we cellen van de actieve celrij naar een specifiek blad kopiëren. In dit artikel zullen we VBA-code gebruiken om gegevens van elk blad over te dragen en de gegevens samen te voegen tot één werkblad. We voegen een hoofdblad toe aan de werkmap en slaan de gegevens uit het opgegeven bereik op in één blad.

De voorbeeldcodes worden gekopieerd naar een databaseblad met de naam Blad2. Elke keer dat we een macro uitvoeren, worden de cellen onder de laatste rij geplaatst met gegevens na de laatste kolom in blad 2. Deze macro kopieert de cellen van kolom A, D van de ActiveCell.

Hieronder ziet u de afbeelding van de voorbeeldgegevens:

Om cellen van activecell-rij naar Sheet2 te kopiëren; we moeten de onderstaande stappen volgen om de VB-editor te starten:

  • Klik op het tabblad Ontwikkelaar
  • Selecteer in de codegroep Visual Basic

  • Klik op Invoegen en vervolgens op Module

  • Hiermee wordt een nieuwe module gemaakt
  • Voer de volgende code in de standaardmodule in:
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).Bereik ("A1:D1") Set destrange = Sheets("Sheet2").Range("A" & 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").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 Einde sub 
Functie LastRow(sh As Worksheet) On Error Hervat Volgende LastRow = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas , _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False). Rij bij fout GoTo 0 Functie beëindigen 
Functie Lastcol(sh As Worksheet) On Error Hervat Volgende Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas , _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False). Kolom bij fout GoTo 0 Functie beëindigen 

  • Om de bovenstaande VBA-code te controleren; voeg gegevens toe in het bereik "A1:D1" en voer vervolgens de macro uit door op de sneltoets F5 te drukken
  • De gegevens die in het opgegeven bereik zijn opgeslagen, worden gekopieerd naar "Blad2" vanaf A1

  • Als we deze macro opnieuw uitvoeren; de gegevens worden in de volgende rij opgeslagen; zie onderstaande afbeelding:

  • We kunnen het bereik in de bovenstaande macro aanpassen aan onze vereisten

Conclusie: Met bovenstaande macro kunnen we cellen van de actieve celrij naar een nieuw blad kopiëren met behulp van VBA-code.

Als je onze blogs leuk vond, deel deze dan met je vrienden op Facebook. En je kunt ons ook volgen op Twitter en Facebook.

We horen graag van je, laat ons weten hoe we ons werk kunnen verbeteren, aanvullen of vernieuwen en het voor jou beter kunnen maken. Schrijf ons op de e-mailsite