Anzeige
Archiv - Navigation
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
440to444
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen in ein anderes Tabellenblatt verschieben

Zeilen in ein anderes Tabellenblatt verschieben
16.06.2004 22:24:06
Fritz
Hallo,
Bei dem folgenden Code klappt das mit dem Paste nicht.
Was mache ich da bitte falsch.

Sub ZeilenVerschieben()
Dim rfirst As Integer, rlast As Integer
Dim wksDAT As Worksheet, wksHTB As Worksheet
Set wksDAT = Sheets("Tabelle1")
Set wksHTB = Sheets("Tabelle2")
rlast = Cells(Rows.Count, 1).End(xlUp).Row
For rfirst = 2 To rlast
If InStr(Cells(rfirst, 1), "FA") Then
Cells(rfirst, 1).Cut
wksHTB.Cells(Rows.Count, 1).End(xlUp).Paste
Application.CutCopyMode = False
End If
Next rfirst
End Sub

Die jeweils ausgeschnittene Zeile soll in dem Tabellen2 unten rangeklebt werden.
Danke schin mal.
Grüße, Fritz

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen in ein anderes Tabellenblatt verschiebe
Uduuh
Hallo,
du überschreibst ja immer deine letzte beschriebene Zeile.
wksHTB.Cells(Rows.Count, 1).End(xlUp).Offset(1,0).Paste
Gruß aus'm Pott
Udo
AW: Zeilen in ein anderes Tabellenblatt verschieben
K.Rola
Hallo,
die Referenzierung ist nicht sauber. Das Ergebnis fällst nur Korrekt aus,
wenn Tabelle1 das aktive Blatt ist. Versuchs mal so:
Option Explicit

Sub ZeilenVerschieben()
Dim rfirst As Long, rlast As Long
Dim wksDAT As Worksheet, wksHTB As Worksheet
Set wksDAT = Sheets("Tabelle1")
Set wksHTB = Sheets("Tabelle2")
rlast = wksDAT.Cells(65536, 1).End(xlUp).Row
For rfirst = 2 To rlast
If InStr(wksDAT.Cells(rfirst, 1), "FA") Then
wksDAT.Cells(rfirst, 1).Cut _
wksHTB.Cells(65536, 1).End(xlUp).Offset(1, 0)
End If
Next
wksHTB.Rows(1).Delete
End Sub

Gruß K.Rola
Anzeige
AW: Zeilen in ein anderes Tabellenblatt verschieben
16.06.2004 23:01:06
Fritz
Hallo, KRola
das kommt schon ganz nah dran. Leider werden nicht die ganzen Reihen (die Datensätze), sondern nur die Werte aus SpalteA auf die Tabelle2 geschaufelt.
Wäre nett, wenn Du mir da noch'n Tipp geben könntest.
Fritz
AW: Zeilen in ein anderes Tabellenblatt verschieben
K.Rola
Hallo,
in deinem Code wird aber auch nur die Spalte A behandelt, willst du die ganze Zeile
oder nur einen Teil der Zeile?
Gruß K.Rola
AW: Zeilen in ein anderes Tabellenblatt verschieben
K.Rola
Hallo,
ich mach jetzt Feierabend, hier noch eine Variante für die gesamte Zeile:
Option Explicit

Sub ZeilenVerschieben()
Dim rfirst As Long, rlast As Long
Dim wksDAT As Worksheet, wksHTB As Worksheet
Set wksDAT = Sheets("Tabelle1")
Set wksHTB = Sheets("Tabelle2")
rlast = wksDAT.Cells(65536, 1).End(xlUp).Row
For rfirst = 2 To rlast
If InStr(wksDAT.Cells(rfirst, 1), "FA") Then
wksDAT.Rows(rfirst).Cut _
wksHTB.Cells(65536, 1).End(xlUp).Offset(1, 0)
End If
Next
End Sub

Gruß K.Rola
Anzeige
AW: Zeilen in ein anderes Tabellenblatt verschieben
16.06.2004 22:49:19
Fritz
Hallo, Uduuh.
Ich wäre ja schon froh gewesen, wenn's mir die Zeile überhaupt überschrieben hätte. Aber ich kriege die Fehlermeldung 483: Objekt unterstützt diese Eigenschaft oder Methode nicht. Also es wird leider nichts geschrieben.
Mit ganz vielen "Activates" und "selects" habe ich es ja schon mal geschafft. Aber dieses hin- und herhopsen zwischen den Tabellen wollte ich vermeiden.
Haste noch 'ne Idee?
Wäre schön.
Grüße, Fritz
AW: Zeilen in ein anderes Tabellenblatt verschieben
K.Rola
Hallo,
hast du meine Antwort noch nicht gesehen?
Gruß K.Rola
AW: Zeilen in ein anderes Tabellenblatt verschieben
16.06.2004 23:06:13
Fritz
Doch :-), habe gerade zurück geschrieben. Hat sich wohl überschnitten.
Fritz
Anzeige
Ich komme nicht dahinter
17.06.2004 00:19:06
Fritz
Hallo KRola und andere.
An dieser Stelle funktioniert es insofern, als dass die Zelle der ersten Spalte übertragen wird, aber nicht der gesamte Datensatz
wksDAT.Cells(rfirst, 1).Cut _
wksHTB.Cells(65536, 1).End(xlUp).Offset(1, 0)
Jetzt habe ich das mal so geschrieben
wskDAT.Cells(cells(rfirst, 1), cells(rfirst, 255)).cut
Aber das gibt auch eine Fehlermeldung (424 Objekt erforderlich.
Das gleiche bei: wskDAT.Rows(1).Cut
Ich kann das nicht ==:-(
Grüße, Fritz
Ich hab's ==:-))
17.06.2004 01:28:15
Fritz
So geht es.
Schönen Dank für's Anstubsen.

Sub ZeilenVerschieben()
Dim r As Integer
Dim rfirst As Long, rlast As Long
Dim wksDAT As Worksheet, wksHTB As Worksheet
Set wksDAT = Sheets("Tabelle1")
Set wksHTB = Sheets("Tabelle2")
wksDAT.Activate
rlast = wksDAT.Cells(65536, 1).End(xlUp).Row
For rfirst = 1 To rlast
If InStr(wksDAT.Cells(rfirst, 1), "FA") Then
'''Hier habe ich geändert
Rows(rfirst).Cut _
wksHTB.Cells(65536, 1).End(xlUp).Offset(1, 0)
End If
Next
wksHTB.Rows(1).Delete
End Sub

Gute Nacht, Fritz
Anzeige

51 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige