In Microsoft Excel können wir Zellen aus der Activecell-Zeile in ein bestimmtes Blatt kopieren. In diesem Artikel verwenden wir VBA-Code, um Daten aus jedem Blatt zu übertragen und die Daten in einem Arbeitsblatt zusammenzuführen. Wir fügen der Arbeitsmappe ein Master-Blatt hinzu und speichern die Daten aus dem angegebenen Bereich in einem Blatt.
Die Beispielcodes werden in ein Datenbankblatt mit dem Namen Sheet2 kopiert. Jedes Mal, wenn wir ein Makro ausführen, werden die Zellen unter der letzten Zeile mit Daten nach der letzten Spalte in Blatt2 platziert. Dieses Makro kopiert die Zellen aus Spalte A, D aus der ActiveCell.
Nachfolgend das Bild der Beispieldaten:
Um Zellen aus der aktiven Zellenzeile nach Sheet2 zu kopieren; Wir müssen die folgenden Schritte ausführen, um den VB-Editor zu starten:
- Klicken Sie auf die Registerkarte Entwickler
- Wählen Sie aus der Gruppe Code die Option Visual Basic
- Klicken Sie auf Einfügen und dann auf Modul
- Dadurch wird ein neues Modul erstellt
- Geben Sie den folgenden Code in das Standardmodul ein
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") 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 desstrange = Sheets("Sheet2").Range("A" _ & Lr).Resize(.Rows.Count, .Columns.Count) End With desstrange.Value = sourceRange.Value End Sub
Funktion LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas , _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function
Funktion Lastcol(sh As Worksheet) On Error Resume Next Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas , _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column On Error GoTo 0 End Function
- Um den obigen VBA-Code zu überprüfen; Fügen Sie Daten im Bereich "A1: D1" hinzu und führen Sie dann das Makro aus, indem Sie die Tastenkombination F5 drücken
- Die im angegebenen Bereich gespeicherten Daten werden ab A1 . auf „Sheet2“ kopiert
- Wenn wir dieses Makro erneut ausführen; die Daten werden in der nächsten Zeile gespeichert; siehe unten bild:
- Wir können den Bereich im obigen Makro ändern, der unseren Anforderungen entspricht
Abschluss: Mit dem obigen Makro können wir Zellen aus der Activecell-Zeile mit VBA-Code in ein neues Blatt kopieren.
Wenn Ihnen unsere Blogs gefallen haben, teilen Sie sie mit Ihren Freunden auf Facebook. Und Sie können uns auch auf Twitter und Facebook folgen.
Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern, ergänzen oder erneuern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site