Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopiermakro

Forumthread: Kopiermakro

Kopiermakro
stefan
Hallo Excel Experten,
ich brauche mal wieder eure Hilfe habe hier ein Kopier Makro welches Daten aus einem Tabellenblatt in eine anderes überträgt.
1 Problem : Die zu übertragenen Daten werden nicht ausdem Datenblatt ausgetragen bleiben erhalten
die sollen aber gelöscht werden.
2.Problem: Die daten die ausgetragen werden haben leer zeilen zwischen den einzelenen Datensätzen, und
in dem Datenblett wo sie hin sollen werden sie nicht an die erste Zeile im Datenblatt übergeben, sondern an die Position wo sie in dem Datenblatt stehen wo sie rauskopiert werden.
Hier mein bisschen Code ich brauche eure Hilfe das wäre Super Danke im vorraus:)

Private Sub CommandButton1_Click()
Dim a As Long, i As Long
Application.ScreenUpdating = False
a = 1
For i = 1 To 100
With Worksheets("Tabelle1")
If .Cells(i, "B") = "+" Then
.Rows(i).Copy _
Destination:=Worksheets("Tabelle2").Rows(a)
a = a + 1
Else
.Cells(i, "B") = "-"
.Rows(i).Copy _
Destination:=Worksheets("Tabelle3").Rows(a)
a = a + 1
End If
End With
Next i
Application.ScreenUpdating = True
End Sub

1000 Dank !!!!!!!!!111
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Kopiermakro
15.08.2010 17:06:39
fcs
Hallo Stefan,
du muss für jedes Zielblatt einen eigenen Zeilenzähler einführen.
Kopieren heißt eben Kopieren und nicht Kopieren und löschen.
Entweder muss du die Zeilen Verschien oder nach dem Kopieren Inhalte Löschen.
Ausserdem sollte man in Cells(Zeile,Spalte) die Spalte nicht durch den Buchstaben (als Text) sondern mit der Nummer (als Zahl) angeben. Der VBA-Compiler ist da zwar ziemlich tolerant, aber ich hab damit zumindest bei älteren Excelversionen schon Schiffbruch erlitten.
Nachfolgend dein Makro etwas angepasst.
Gruß
Franz
Private Sub CommandButton1_Click()
Dim a As Long, b As Long, i As Long
Application.ScreenUpdating = False
a = 1
b = 1
With Worksheets("Tabelle1")
For i = 1 To 100
If .Cells(i, 2) = "+" Then
.Rows(i).Copy _
Destination:=Worksheets("Tabelle2").Rows(a)
a = a + 1
.Rows(i).ClearContents
Else
.Cells(i, 2) = "-"
.Rows(i).Copy _
Destination:=Worksheets("Tabelle3").Rows(b)
b = b + 1
.Rows(i).ClearContents
End If
Next i
End With
Application.ScreenUpdating = True
End Sub

Anzeige
@fFranz-ginge auch Cut statt Copy?-owT
15.08.2010 17:24:21
Jonka
AW: @fFranz-ginge auch Cut statt Copy?-owT
15.08.2010 18:13:18
stefan
Hallo Franz,
Danke erstmal für die schnelle Lösung wunderbar auch tausend Dank für Erklärung super.
Eine Frage habe ich noch das Datenblett ist ja denn leer wenn ich neue Einträge habe werden die
alten überschrieben gibt es die Möglichleit die neuen Daten anzuhängen.
Danke
Ich liebe dieses Forum
Anzeige
AW: @fFranz-ginge auch Cut statt Copy?-owT
15.08.2010 23:18:50
fcs
Hallo Stefan,
dann muss man den Startwert des Zeilenzählers bei jedem Makrostart ermitteln.
Gruß
Farnz
Private Sub CommandButton1_Click()
Dim a As Long, b As Long, i As Long
Application.ScreenUpdating = False
'Startzeilen ermitteln
With Worksheets("Tabelle2")
If IsEmpty(.UsedRange) Then
a = 1
Else
a = .Cells.SpecialCells(xlCellTypeLastCell).Row + 1
End If
End With
With Worksheets("Tabelle3")
If IsEmpty(.UsedRange) Then
b = 1
Else
b = .Cells.SpecialCells(xlCellTypeLastCell).Row + 1
End If
End With
With Worksheets("Tabelle1")
For i = 1 To 100
If .Cells(i, 2) = "+" Then
.Rows(i).Copy _
Destination:=Worksheets("Tabelle2").Rows(a)
a = a + 1
.Rows(i).ClearContents
Else
.Cells(i, 2) = "-"
.Rows(i).Copy _
Destination:=Worksheets("Tabelle3").Rows(b)
b = b + 1
.Rows(i).ClearContents
End If
Next i
End With
Application.ScreenUpdating = True
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige