Kopiera celler från ActiveCell -raden till ett databasark med VBA i Microsoft Excel

Innehållsförteckning

I Microsoft Excel kan vi kopiera celler från aktivcellsraden till ett visst blad. I den här artikeln kommer vi att använda VBA -kod för att överföra data från varje blad och sammanfoga data till ett arbetsblad. Vi lägger till ett huvudark i arbetsboken och sparar data från det angivna intervallet i ett ark.

Exempelkoderna kopieras till ett databasblad med namnet Sheet2. Varje gång vi kör makro kommer cellerna att placeras under den sista raden med data efter den sista kolumnen i blad2. Detta makro kopierar cellerna från kolumn A, D från ActiveCell.

Följande är bilden av provdata:

För att kopiera celler från aktivcellsrad till Sheet2; vi måste följa stegen nedan för att starta VB -editor:

  • Klicka på fliken Utvecklare
  • Välj Visual Basic i kodgruppen

  • Klicka på Infoga och sedan Modul

  • Detta skapar en ny modul
  • Ange följande kod i standardmodulen
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") Ställ in 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") Med sourceRange Set destrange = Sheets ("Sheet2"). Range ("A" _ & Lr) .Resize (.Rows.Count, .Columns.Count) End With destrange.Value = sourceRange.Value Avsluta Sub 
Funktion LastRow (sh Som arbetsblad) Vid fel Återuppta Nästa LastRow = sh.Cells.Find (Vad: = "*", _ Efter: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row On Error GoTo 0 Avsluta funktion 
Funktion Lastcol (sh Som kalkylblad) Vid fel Återuppta Nästa Lastcol = sh.Cells.Find (Vad: = "*", _ Efter: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Column On Error GoTo 0 Avsluta funktion 

  • För att kontrollera ovanstående VBA -kod; lägg till data i intervallet "A1: D1" och kör sedan makrot genom att trycka på F5 -genvägsknappen
  • Data som lagras i det angivna intervallet kommer att kopieras till "Sheet2" från och med A1

  • Om vi ​​kör detta makro igen; data sparas i nästa rad; se bilden nedan:

  • Vi kan ändra intervallet i makrot ovan som passar våra krav

Slutsats: Med makrot ovan kan vi kopiera celler från aktivcellsraden till ett nytt blad med VBA -kod.

Om du gillade våra bloggar, dela den med dina vänner på Facebook. Och du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra, komplettera eller förnya vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave