Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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

Zeiler per VBA in zweites Tabellenbl. verschieben

Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 07:21:33
Oliver
Hallo zusammen,
ich habe eine Datei mit zwei Tabellenblättern.
Zum einen das Tabellenblatt "Paletten" und zum anderen das BLatt "Archiv".
In Zeile 3 beginnen die Überschrifen...
Filiale / Name / Straße / PLZ / Ort / Colli usw.
Nun will ich gerne das wenn ich im z.B Bereich A4:E20 Werte stehen habe, diese per Button in das Blatt "Archiv" ebenfalls ab Zeile 4 verschoben werden und im Blatt "Paletten" entfernt / gelöscht werden.
Wenn ich nun wieder neue Werte in das Blatt "Paletten" eintrage, sollen diese dann ebenfalls per Klick auf den Button wieder ins Archiv geschoben werden, aber direkt unter den letzten Satz / Zeile des Archivs. Also immer angehangen werden.
Leider bin ich bei Google auf dieverse Lösungen gestoßen die nicht das gemacht haben was sie sollten.
Ich hoffe hier kann mir einer helfen.
mfg

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 08:21:16
hary
Moin
Sind Fragen offen.
Koennen leere Zeilen im Bereich sein?
In welcher Spalte(Paletten) kann man den letzten Eintrag herleiten?
gruss hary

AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 09:42:04
Oliver
Hi Hary,
NEiN leere Zeilen sollten dort nicht vorkommen, ich denke es macht aber Sinn dieses mit einzubauen, weil andere damit Arbeiten werden und dann weiß man ja nie.
Leere Zellen werden vorkommen.
Was meinst du herleiten?
Welche die letzte Spalte ist, in der ein Wert steht?
Oh, dass weiß ich jetzt gar nicht so genau.
Das kann man doch aber noch anpassen, oder?

AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 10:43:54
hary
Moin
Um etwas anzuhaengen braucht es eine Spalte wo in den Zellen immer etwas steht. Dann kann man sagen Bsp.: in SpalteA steht immer etwas und da nimm die letzte belegte Zelle + 1 und haenge dran.
Mit UsedRange geht es auch, kann aber in die Hose gehen.
Lad mal eine bsp.-Mappe hoch.
gruss hary

Anzeige
AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 12:50:54
Oliver
Hallo Hary,
nen bisschen hab ich und ein Freund (Java Entwickler) hinbekommen.
Wir haben es schon mal soweit hinbekommen, dass nur die Werte übertragen werden.
Jedoch haben wir noch das Problem, das wenn wir am Schluss die Zeilen löschen, die SVERWEISE logischer Weise ebenfalls weg sind. Die SVERWEISE in den Spalten B:E sollten vorhanden bleiben oder wieder eingefügt werden.
Auch sollte die Dropdown Box in Spalte G nicht mitkopiert und gelöscht werden.

AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 13:14:55
hary
Moin
Probier mal so.
Dim letzte As Long
Dim a As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = Worksheets("Paletten")
Set wksZ = Worksheets("Archiv")
For a = 4 To wksQ.Cells(Rows.Count, 1).End(xlUp).Row
If Application.CountBlank(wksQ.Cells(a, 1).Resize(1, 7)) 

gruss hary

AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 13:55:18
Oliver
Hallo Hary,
soweit so gut.
Jedoch sind leider die SVERWEISE ab der Zeile in der man Werte, im Blatt "Paletten" ebenfalls weg.
Diese sollen schon drin bleiben, ohne das man diese immer wieder reinkopieren muss.
Das gleiche sollte dann auch für das Dropdown gelten.

Anzeige
AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 15:12:10
hary
Moin
Dann so.
Dim letzte As Long
Dim a As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = Worksheets("Paletten")
Set wksZ = Worksheets("Archiv")
For a = 4 To wksQ.Cells(Rows.Count, 1).End(xlUp).Row
If Application.CountBlank(wksQ.Cells(a, 1).Resize(1, 7)) 

gruss hary

AW: Zeiler per VBA in zweites Tabellenbl. verschieben
25.05.2015 22:14:48
Oliver
Hallo Hary,
hat geklappt, danke.
Ich habe aber das vorherige genommen und einfach die Formeln wieder mit reinkopiert, falls einer diese löscht.
Vielen Dank für die super Hilfe.

Sub Archiv()
Dim letzte As Long
Dim a As Long
Dim wksQ As Worksheet
Dim wksZ As Worksheet
Set wksQ = Worksheets("Paletten")
Set wksZ = Worksheets("Archiv")
For a = 4 To wksQ.Cells(Rows.Count, 1).End(xlUp).Row
If Application.CountBlank(wksQ.Cells(a, 1).Resize(1, 9)) 

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige