Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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
Inhaltsverzeichnis

Zeile ausschneiden und in anderem Sheet einfügen

Zeile ausschneiden und in anderem Sheet einfügen
14.09.2018 21:57:45
Uwe
Hallo zusammen,
ich möchte über ein Userform eine bestimmte Zeile anhand eines Referenzwertes ausschneiden und in ein anderes Tabellenblatt einfügen. Mein aktueller Code funktioniert zwar, jedoch nicht so wie ich es möchte.
Im dargestellten Code wird die markierte Zeile ausgeschnitten, es bleibt eine Leerzeile. Es sollen jedoch die darunterliegenden Zeilen entsprechend "hochrutschen"
Weiter wird im zweiten Blatt die ausgeschnittene Zeile in Zeile 1 eingefügt. Diese soll jedoch unten in die erste mögliche freie Zeile eingefügt werden.
Hier der Code:
Private Sub delete_mistake_Click()
'MsgBox "This Button will be working soon. It is already planned to delete invalid data records. _
Dim x As Range
R_RMA = lbl_RMA.Caption
Set x = Sheets("B&O Issue Log").Columns(2).Find(What:=R_RMA, LookAt:=xlWhole)
If Not x Is Nothing Then
x.EntireRow.Select
Selection.Cut
Sheets("Error Log").Rows.Insert Shift:=xlDown
End If
End Sub
Vielen Dank vorab
Viele Grüße
Uwe

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile ausschneiden und in anderem Sheet einfügen
14.09.2018 22:51:37
Gerd
Moin Uwe,
teste mal.
Private Sub delete_mistake_Click()
'MsgBox "This Button will be working soon. It is already planned to delete invalid data records. _
_
Dim x As Range
R_RMA = lbl_RMA.Caption
Set x = Sheets("B&O Issue Log").Columns(2).Find(What:=R_RMA, LookAt:=xlWhole)
If Not x Is Nothing Then
x.EntireRow.Cut Sheets("Error Log").Cells(Rows.Count, 1).End(xlUp).Offset(1).Row
x.EntireRow.Delete shift:=xlUp
End If
End Sub

Gruß Gerd
AW: Zeile ausschneiden und in anderem Sheet einfügen
14.09.2018 23:02:21
Uwe
Hallo Gerd,
danke für den Ansatz. Leider gibt er mir dabei einen Fehler aus:
Laufzeitfehler 1004
Die Cut-Methode des Rangeobjekts konnte nicht ausgeführt werden.
Private Sub delete_mistake_Click()
'MsgBox "This Button will be working soon. It is already planned to delete invalid data records. _
In the meantime ask the Excel-Support for reworking mistakes"
Dim x As Range
R_RMA = lbl_RMA.Caption
Set x = Sheets("B&O Issue Log").Columns(2).Find(What:=R_RMA, LookAt:=xlWhole)
If Not x Is Nothing Then
 x.EntireRow.Cut Sheets("Error Log").Cells(Rows.Count, 1).End(xlUp).Offset(1).Row
x.EntireRow.Delete shift:=xlUp
End If
End Sub

Anzeige
AW: Zeile ausschneiden und in anderem Sheet einfügen
14.09.2018 23:07:40
Gerd
Hallo Uwe,
ändere bitte .Row in .EntireRow
Gruß Gerd
AW: Zeile ausschneiden und in anderem Sheet einfügen
14.09.2018 23:14:55
Uwe
Hallo Gerd,
das klappt jetzt. Nun bleibt nur noch in der Tabelle aus der ausgeschnitten wird die Leerzeile stehen. Wenn hier noch die nachstehenden Zeilen nach oben ruschen ist es perfekt. Hast Du da auch eine Idee?
Danke und Gruß
Uwe
AW: Zeile ausschneiden und in anderem Sheet einfügen
14.09.2018 23:48:14
Werner
Hallo Uwe,
hast du diese Codezeile eventuell aus dem Code entfernt?
x.EntireRow.Delete shift:=xlUp

Die löscht doch die Zeile.
Gruß Werner
AW: Zeile ausschneiden und in anderem Sheet einfügen
14.09.2018 23:53:55
Uwe
Hallo Werner,
Nein, die Zeile ist drin. Eventuell kann diese den Bezug zum Tabellenblatz nicht herstellen?
Grüße
Uwe
Anzeige
AW: Zeile ausschneiden und in anderem Sheet einfügen
15.09.2018 05:47:10
Piet
Hallo
klingt irgenwie unlogisch, vieleicht letzte Chance eine Beispieldatei mit Fantasie Daten hochladen.
Es geht ja nur um die Funktion des Makro Codes. Mit etwas Glück finden wir vielleicht noch was?
Liebe Grüsse an Werner und alle Kollegen ....
mfg Piet
Zeile ausschneiden und in anderem Sheet einfügen
15.09.2018 06:26:09
Uwe
Guten Morgen,
ich habe noch einmal kontrolliert, die Codezeile ist vorhanden. Dennoch wird die Leerzeile nicht gelöscht. Deshalb hier der Upload:
https://www.herber.de/bbs/user/123963.zip
Ihr kommt auf den gesuchten Programmteil nachdem Ihr den Button "Rework&Save anklickt, dann eine Zahl aus Spalte B eintippt und dann den Button "Remove Error Log"
Leider habe ich keine Idee warum die Leerzeile nicht gelöscht wird.
Danke & Viele Grüße
Uwe
Anzeige
ohne VBA-Projektpasswort wäre es einfacher ;-)
15.09.2018 06:54:41
Matthias
Hallo
meinst Du wirklich das jemand auf ein Button klickt ohne zu wissen was dann passiert?
Schö WE ...
Gruß Matthias
AW: ohne VBA-Projektpasswort wäre es einfacher ;-)
15.09.2018 07:01:05
Uwe
Guten Morgen Matthias,
sorry, PW lautet Papaya.
ich habe das jetzt nochmal getestet:
Nehme ich im zu bereinigenden Sheet die erste Datenzeile nach der Überschriftenzeile, wird diese korrekt ausgeschnitten, in das zweite Sheet eingefügt und die Leerzeile gelöscht.
Nehme ich eine Zeile mitten drin z. B. Zeile 4, wird die Zeile 4 ausgeschnitten und in die zweite Tabelle eingefügt, Zeile 4 bleibt als Leerzeile, dafür wird Zeile 3 komplett gelöscht. Wiederhole ich das (nachdem ich die Leerzeile manuell entfernt habe wieder mitten in den Zeilen, wird eben wieder nur eine Zeile ausgeschnitten, Leerzeile bleibt stehen dafür wird eine andere gelöscht.
Hoffe das ist nichts grosses, aber ich komme nicht drauf.
VG
Uwe
Anzeige
AW: ohne VBA-Projektpasswort wäre es einfacher ;-)
15.09.2018 07:08:21
Uwe
Anmerkung: Papaya klein geschrieben
AW: ohne VBA-Projektpasswort wäre es einfacher ;-)
15.09.2018 08:10:07
Uwe
Hallo nochmal,
ich möchte noch einmal zusammenfassen:
Private Sub delete_mistake_Click()
'MsgBox "This Button will be working soon. It is already planned to delete invalid data records. _
In the meantime ask the Excel-Support for reworking mistakes"
Dim x As Range
R_RMA = lbl_RMA.Caption
Set x = Sheets("B&O Issue Log").Columns(2).Find(What:=R_RMA, LookAt:=xlWhole)
If Not x Is Nothing Then
x.EntireRow.Cut Sheets("Error Log").Cells(Rows.Count, 1).End(xlUp).Offset(1).EntireRow
x.EntireRow.Delete shift:=xlUp
End If
End Sub
schneidet die gesuchte Zeile aus, fügt diese in das zweite Blatt ein, lässt dann eine Leerzeile stehen und löscht dafür Zeile3 (Zeile 1 und 2 sind Überschriften)
Lasse ich folgende Zeile raus,
x.EntireRow.Delete shift:=xlUp
funktioniert alles wie es soll, es bleibt nur die unschöne Leerzeile stehen.
Wäre klasse wenn die noch verschwindet.
Viele Grüße
Uwe
Anzeige
AW: ohne VBA-Projektpasswort wäre es einfacher ;-)
15.09.2018 10:01:16
Gerd
Moin,
VBA ist zu schlau u. holt beim Cut die "neue Zeile" in die Variable! :-)
Private Sub delete_mistake_Click()
'MsgBox "This Button will be working soon. It is already planned to delete invalid data records. _
In the meantime ask the Excel-Support for reworking mistakes"
Dim x As Range, y As Long
R_RMA = lbl_RMA.Caption
Set x = Sheets("B&O Issue Log").Columns(2).Find(What:=R_RMA, LookAt:=xlWhole)
Dim y As Long
If Not x Is Nothing Then
y = x.Row
x.EntireRow.Cut Sheets("Error Log").Cells(Rows.Count, 1).End(xlUp).Offset(1).EntireRow
Sheets("B&O Issue Log").Rows(y).Delete
End If
End Sub

Gruß Gerd
Anzeige
AW: ohne VBA-Projektpasswort wäre es einfacher ;-)
15.09.2018 10:07:53
Uwe
Hallo Gerd,
gleich probiert, Fehlermeldung.
Dim x As Range, y As Long
R_RMA = lbl_RMA.Caption
Set x = Sheets("B&O Issue Log").Columns(2).Find(What:=R_RMA, LookAt:=xlWhole)
Dim y As Long
If Not x Is Nothing Then
y = x.Row
x.EntireRow.Cut Sheets("Error Log").Cells(Rows.Count, 1).End(xlUp).Offset(1).EntireRow
Sheets("B&O Issue Log").Rows(y).Delete
End If
Habe dann
Dim y As Long
rausgenommen, da ja schon in
Dim x As Range, y As Long
deklariert und jetzt funzt es.
Super!!! Vielen Dank und ein schönes WE
Gruß
Uwe

235 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige