Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen löschen und in ein anderes Tabellenblatt einfügen

Zeilen löschen und in ein anderes Tabellenblatt einfügen
18.07.2024 16:06:22
Anja Korber
Hi!

Ich habe eine umfangreiche xls Tabelle, in die laufend neue Datensätze (Zeilen) eingetragen werden.

Im Tabellenblatt "Übersicht" in Spalte R (beginnend in Zeile 3) habe ich eine WENNS Formel hinterlegt. Hier gibt es drei Möglichkeiten. Entweder sie ist leer ("") oder es steht "Kunde" oder es steht "Abgelehnt".
Sobald Kunde oder Abgelehnt angezeigt wird, soll der Datensatz jeweils aus dem Tabellenblatt entfernt und in ein anderes Tabellenblatt eingefügt werden.

Wenn in der Spalte R (beginnend in Zeile 3) nichts steht, soll die Zeile im Tabellenblatt "Übersicht" bleiben. Sobald "Kunde" steht, soll die Zeile im Tabellenblatt "Übersicht" entfernt und ins Tabellenblatt "Kunde" eingetragen werden. Wenn "Abgelehnt" steht, soll die Zeile im Tabellenblatt "Übersicht" entfernt und ins Tabellenblatt "Abgelehnt" eingetragen werden.

Das Tabellenblatt "Übersicht" wird laufend/täglich weiter befüllt.

Kann mir hier jemand mit einem Makro aushelfen?

Vielen Dank vorab.
LG Anja
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
18.07.2024 16:48:29
daniel
Hi
füge eine weitere Spalte hinzu (Spalte S)

trage ab Zeile 3 dieser Spalte die Formel ein:
=Wenn(R3=$S$2;1;"")

verwende dann das Makro:

dim x 

with Range("S:S")
for each x in Array("Kunde", "Abgelehnt")
.cells(2, 1).Value = x
if worksheetfunction.Sum(.Cells) > 0 then
with .SpecialCells(xlcelltypeformulas, 1).EntireRow
.Copy Desination:=Sheets(x).Cells(Rows.count, 1).end(xlup).Offset(1, 0)
.Delete
end if
Next
.Cells(2, 1).value = "x"
end with


Gruß Daniel
Anzeige
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
19.07.2024 08:19:07
Anja Korber
Guten Morgen!

vielen Dank für die rasche Unterstützung. Ich habe das mit einem Test-Datensatz ausprobiert. Da passiert nur leider nichts.

Ich habe ein Makro angelegt und den Code einfach rein kopiert. Da bekomm ich eine Fehlermeldung:
Userbild

LG Anja
Anzeige
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
19.07.2024 08:27:00
daniel
Ich schreibe solche Codes oft direkt ins Forum, ohne sie zu testen.
Es ist immer besser, wenn du das ganze liest, versuchst zu verstehen und dann selber programmierst.
Dann hilft dir der Editor und die Intelligente, Schreibfehler zu vermeiden.
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
19.07.2024 11:35:04
hary
Moin
Basierend auf Daniels Code.
SpalteS muss frei sein.
Dim x

Dim wksQuelle As Worksheet
Set wksQuelle = Worksheets("Übersicht")
wksQuelle.Cells(2, "S") = "x"
With wksQuelle.Range("S3:S" & wksQuelle.Cells(Rows.Count, "R").End(xlUp).Row) 'Bereich S3 bis letzte benutzte Zeile Spalte R
.FormulaR1C1 = "=IF(RC[-1]=R2C19,1,"""")" 'Eintagen Daniels Formel
For Each x In Array("Kunde", "Abgelehnt")
wksQuelle.Cells(2, "S").Value = x
If WorksheetFunction.Sum(.Cells) > 0 Then
With .SpecialCells(xlCellTypeFormulas, 1).EntireRow
.Copy Destination:=Sheets(x).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Sheets(x).Columns(19).Clear
.Delete
End With
End If
Next
End With
wksQuelle.Cells(2, "S").Clear

gruss hary
Anzeige
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
22.07.2024 11:04:22
Anja Korber
Hallo Hary,

vielen Dank.

Wo soll ich Daniels Formel genau eintragen? Das habe ich leider nicht verstanden.

LG Anja
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
22.07.2024 11:12:55
hary
Moin
Du brauchst nix eintragen. Das macht das Makro.
Die Formel wird in SpalteS eingetragen(vom Makro). Spalte S ist also nur eine Hilfsspalte
Wir kennen ja den Aufbau deiner Tabelle nicht.
Ansonsten mal eine Bsp.-mappe hochladen.
gruss hary
Anzeige
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
22.07.2024 11:20:24
Anja Korber
leider ist die Datei zu groß zum hochladen. Warum auch immer, weil sie für den test jetzt noch nicht mit Daten befüllt ist. Egal.

Habe ich das richtig verstanden, dass das Makro die Spalte S befüllt. Dann muss die ja eigentlich leer sein. Da habe ich aber Daniels Formel drin. Muss ich die Formel einfach nur aus Spalte S löschen?

Danke, lg
Anzeige
AW: Zeilen löschen und in ein anderes Tabellenblatt einfügen
22.07.2024 12:06:48
hary
Moin
aber Daniels Formel drin. Muss ich die Formel einfach nur aus Spalte S löschen?
ja
gruss hary
AW: hier Bsp Mappe
22.07.2024 13:07:06
Anja Korber
coole Sache! Danke dafür.

Verstehe ich das richtig, dass ich das Makro jedes mal "händisch" ausführen muss? Gibt es hier eine Möglichkeit, dass dies automatisch passiert, sobald der passende Wert eingetragen ist?

Danke nochmal!
lg
Anzeige
AW: hier Bsp Mappe
22.07.2024 13:50:02
hary
Moin
Verstehe ich das richtig, dass ich das Makro jedes mal "händisch" ausführen muss? Ja

Gibt es hier eine Möglichkeit, dass dies automatisch passiert, sobald der passende Wert eingetragen ist? Ja aber...
Man muss ein Ereigniss haben das einen Code ausfuehrt. Da in SpalteR Formeln sind, gehtdieser Weg ueber:
Rechtsklick auf Blattreiter "Übersicht/ Code anzeigen/ in das Fenster rechts eintragen:
Private Sub Worksheet_Calculate()

Call uebertragen
End Sub

Worksheet_Calculate hat aber den Nachteil er wird immer wieder, bei Neuberechnung einer Formel, ausgefuehrt.
Deine Formel in SpalteR ist nicht bekannt. Evtl. kannsr du eine Datenauswahl ueber eine Liste machen.
Dann kann man einzelne Zellen in SpalteR ueberwachen und bei Aenderung den Code ausfuehren.
gruss hary
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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