Clever-Excel-Forum

Normale Version: Archivierung von Excel Zeilen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Abend 

Ich bin auf der Suche nach Jemanden der sich mit Exel Macros auskennt ich bin noch ein absoluter Anfänger was Excel angeht. Bezüglich was ich bräuchte habe ich bereits einen Post gefunden mit einem Macro dazu der so ziemlich das macht was es auch bei mir sollte nur halt auf meine Datei angepasst.

Nun hier mal der alte Post: 

"Hallo,

ich habe folgende Situation:

Ich habe in mehreren Zellen innerhalb einer Zeile etwas stehen. Nun benötige ich eine Funktion, die es mir erlaubt, eine Zeile der Ursprungstabelle in eine zweite Tabelle zu archivieren. Dies soll genau dann erfolgen, wenn ich ein "x" hinter die letzte beschriebene Zelle einer Zeile der Ursprungstabelle schreibe. Alle "x" befinden sich dabei zum Beispiel in Spalte "E".
Wenn die Zeile in der Ursprungstabelle gelöscht wird soll dies keine Auswirkung auf die neue Tabelle haben.

Ich hoffe, dass mir jemand weiterhelfen kann und bedanke mich im Voraus!

Eine kleine Anmerkung noch: Es gibt bei Google einige VBA-Anleitungen, bei denen nicht ersichtlich wird, welche Textelemente individuell angepasst werden müssen. Daher wäre es sehr gut, wenn die Variablen ganz eindeutig gekennzeichnet werden

Viele Grüße
Maurice"


Das dazu gehörige Script: 


Code:
Option Explicit         '30.11.2016  Gast 123  Clever Forum

Const QTb = "Tabelle1"  'Quell Tabelle   (Name selbst einfügen)
Const ZTb = "Tabelle2"  'Ziel Tabelle

Sub kopieren()
Dim AC As Object, z As Long
Dim Qlz As Long, Zlz As Long
z = Worksheets(QTb).Rows.Count

'letzte Zelle in Spalte A suchen  (nach oben)
Qlz = Worksheets(QTb).Cells(z, "A").End(xlUp).Row
Zlz = Worksheets(ZTb).Cells(z, "A").End(xlUp).Row

'Schleife zum Prüfen nach "x" in Spalte E
For Each AC In Worksheets(QTb).Range("E1:E" & Qlz)
If AC.Value = "x" Or AC.Value = "X" Then
 Zlz = Zlz + 1
 'kopiere Quell-Zeile von Spalte A bis D
 Worksheets(QTb).Cells(AC.Row, 1).Resize(1, 4).Copy
 Worksheets(ZTb).Cells(Zlz, 1).PasteSpecial xlPasteValues
 Application.CutCopyMode = False
End If
Next AC
End Sub



Das Ganze auch noch hier zufinden: https://www.clever-excel-forum.de/Thread...cel-Zeilen 



Wäre extrem froh wenn sich jemand findet der mir da weiterhelfen kann!



LG daerlix24
Hallo!


Zitat:Wäre extrem froh wenn sich jemand findet der mir da weiterhelfen kann!
Wie soll man dir helfen, wenn du keine Frage zu dem Code stellst?
Oh ja gut da hast du wohl recht. Grundsätzlich habe ich 3 Seiten von denen ich kopieren will und eine Seite auf der alles dann zusammen kommt wäre Top wenn man das so angeben könnte wie bei dem Beispiel Script die Tabelle1 und Tabelle2. Das ich da auch noch die Felder angeben kann welche Felder Input sind und Welche Output und wo er die x Felder findet. Dazu sollte es nicht einfach Kopieren und dann Einfügen sondern sollte Kopieren und dann den Wert einfügen damit ich keine Formeln aus den Feldern Kopiere sondern nur deren Resultat. Wie gesagt kenne mich kaum damit aus und weiss auch nicht wie aufwändig/möglich so etwas ist ?

Lg daerlix24
Hallöchen,

zuweilen hilft auch einfach nur das Aufzeichnen der Aktionen. Siehe dazu Excel-Word-Makrorekorder
Wenn Du mehrere Quelltabellen hast dann definiere keine Konstante sondern z.B. ein Array mit den 3 Namen und gehe die in einer Schleife durch.

'Variablendeklarationen fuer Quellen
Dim arrQdb, iCnt
'Array mit Quellnamen bilden
arrQdb = Array("Tabelle1","Tabelle3","Tabelle3")

'Schleife ueber alle Quellen
For iCnt = 0 to 2

'... hier kommt der anderen Code, mit einer Aenderung
'letzte Zelle in Spalte A suchen (nach oben)
'...
'... hier die Aenderung
Worksheets(arrQTb(iCnt)).Cells(AC.Row, 1).Resize(1, 4).Copy
'...
Next AC
'Ende Schleife ueber alle Quellen
Next