Zeilen per Button in andere Tabellenblätter verschieben
#1
Hallo zusammen,

da ich leider nicht weiterkomme, brauche ich hier nochmal eure Hilfe.

Ich habe hier schon andere ähnliche Fragen gesehen und versucht die VBA`s entsprechend anzupassen....nur kommt dabei nicht heraus..
Ich habe es bisher nicht einmal geschafft auch nur eine Zelle, geschweige denn Zeile, mit den Codes zu verschieben.

Meine Problemstellung ist die folgende: 

Ich habe eine Haupttabelle in der verschiedene Eintragungen gemacht werden.
In Spalte "A" kann der Status gewählt werden mittels eines Drop-Down Menüs.

Wenn nun ein Status gesetzt wurde, soll durch den Klick auf einen Button die gesamte Zeile ausgeschnitten und in das richtige Tabellenblatt wieder eingefügt werden.

(Status "Pendent" = Ausschneiden und einfügen im Tabellenblatt "Pendent")

Der Aufbau der Tabellen ist in allen "Sub-Sheets" der gleiche.

Wichtig ist, dass die Zeilen immer in die nächst leere Zeile eingefügt werden in den Zielblättern: Zielblatt "Pendent" enthält schon 10 Einträge - also soll die ausgeschnittene Zeile auf Zeile 11 eingefügt werden.

Ich habe das mal die Beispieldatei hochgeladen - damit wird es evtl. ein wenig klarer.

Ich hoffe das Problem ist soweit verständlich erklärt, falls nicht fragt gerne Smile

Vielen Dank schon jetzt für eure Unterstützung!!!


Angehängte Dateien
.xlsm   test.xlsm (Größe: 30,58 KB / Downloads: 9)
Top
#2
Hallo,

wenn du deine Tabelle Reporting mit Autofiltern versiehst, kannst du nach Spalte A filtern. Dann hast du alles was du brauchst. Die anderen Seiten sind völlig überflüssig.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
so?

Um das Makro zu starten muss du deine Eintragungen machen und dann im Dropdown wählen!
[-] Folgende(r) 1 Nutzer sagt Danke an Frogger1986 für diesen Beitrag:
  • e2Ki
Top
#4
@Klaus-Dieter


Danke dir für den Input, hier ist es jedoch so, dass ich die einzelnen Daten auf verschiedenen Tabellenblättern brauche.
Die Autofilterfunktion war auch mein erster Gedanke - funktioniert aber nicht zufriedenstellend.

@Frogger1986

Das ist schon seeeehr gut!
 Einzig ich muss es auf den Button legen (aber ich glaube dass sollte ich hinkriegen ;Wink 
2. Punkt.
Ich habe die Zeile nun versucht in das Bestehende Tabellenlayout zu kopieren.
Ergebnis war, dass die Zeile ganz unten in der Zieltabelle angefügt wurde. 

Dateien bitte im Forum hochladen: https://www.clever-excel-forum.de/thread-326.html

Wenn ich es richtig verstehe, prüfst du von unten die letzte leere Zellle oder? Kann man den Vorgang von Oben starten und Abfragen welche Zeile in Spalte A die erste leere ist? Die A1 2 und 3 würde ich dann mit beliebigem Inhalt füllen damit sie nicht leer sind. 


Aber vielen vielen Dank schon einmal!!!



EDIT:
Die Reihenfolge der Einfügung habe ich nun so wie ich sie haben möchte Smile 

Aber ich habe mich geirrt, dass ich dieses Script auf den Button gelegt bekäme...er sagt mir "Objekt erforderlich". 
Vielleicht hier noch einmal ne kurze Erklärung warum das Script "On Change" funktioniert und auf dem Button nicht? 
Muss ich da noch ergänzen "Wo" das VBA ausgeführt werden soll? Wenn ja wie? 

Vielen Dank!!


Angehängte Dateien Thumbnail(s)
   
Top
#5
Hallo,

Zitat:Die Autofilterfunktion war auch mein erster Gedanke - funktioniert aber nicht zufriedenstellend.


wenn deine Originaldatei genau so aussieht, wie das Beispiel ist das kein Wunder. Die Standardfunktionen von Excel vertragen keine leeren Zeilen und / oder Spalten in einer Liste.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#6
bitteschön
[-] Folgende(r) 1 Nutzer sagt Danke an Frogger1986 für diesen Beitrag:
  • e2Ki
Top
#7
Antwort auf PN:

Passe den Bereich vor "ClearContans" an ! Dieser Befehl leert den Bereich nach dem Kopieren!
Top
#8
Auszug aus PN: 

Hey, 

vielen Dank für das Update!!!

Ich habe in der "echten" Tabelle in den Zieltabellen unten bei Volumen Total usw. eine Formel drin.
Diese Spalten rutschen aber aktuell nicht weiter runter - ich hatte es in der letzten Version "on Change" mal mit Application.CutCopyMode = True versucht und das ging ganz hervorragend.
Jetzt wo es auf dem Button ist, geht es aber nicht mehr. 

Die Zeilen 24-26 müssen immer unter der Tabelle stehenbleiben, auch wenn oben eine Zeile dazu kommt.

Besten dank und viele Grüsse
Top
#9
Es wird nichts ausgeschnitten in der Tabelle! Es wird kopiert und danach werden die Daten mit "ClearContans" geleert! Hier arbeitet das Makro nur Zeile 5 bis 23 ab! Somit bleiben dir die Formeln von 24 bis 26 erhalten!

Code:
Sub Akt()

On Error Resume Next

Application.ScreenUpdating = False
For i = 5 To 23

       For Z = 1 To Sheets.Count

               If ActiveSheet.Cells(i, 1).Value = Sheets(Z).Name Then
                   Tabl = ActiveSheet.Cells(i, 1).Value
                   Aktuell = Sheets(Tabl).Cells(Rows.Count, 1).End(xlUp).Row + 1
                   ActiveSheet.Rows(i).Copy
                   Sheets(Tabl).Select
                   Sheets(Tabl).Rows(Aktuell).PasteSpecial
                   Sheets("Reporting").Activate
                   ActiveSheet.Range(Cells(i, 1), Cells(i, 28)).ClearContents
               End If
       
       Next
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub
Top
#10
Hallo,

Zitat:Diese Spalten rutschen aber aktuell nicht weiter runter - ich hatte es in der letzten Version "on Change" mal mit Application.CutCopyMode = True versucht und das ging ganz hervorragend.

dann gebe ich nochmal den Klugscheißer. Solche Berechnungen gehören da nicht hin. Die könnte man gut oberhalb der Liste unterbringen. Dann bekommt man die gewünschten Werte automatisch mit der Funktion Teilergebnis. Die zeigt jeweils die Berechnung für die aktuell sichtbaren Zellen an.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 2 Nutzer sagen Danke an Klaus-Dieter für diesen Beitrag:
  • Frogger1986, e2Ki
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste