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

Letzte Zeile

Letzte Zeile
30.01.2015 13:29:29
Emanuel
Hallo zusammen,
ich würde gerne auf einem Arbeitsblatt dessen Zeilenanzahl variiert (es kommen immer mal wieder Zeilen dazu) die letzte Zeile ganz markieren und in ein anderes Arbeitsblatt der selben Arbeitsmappe an Stelle xy einfügen (und zwar nur Werte einfügen).
Kann mir jemand dazu einen VBA Code nennen?
Vielen Dank im Voraus!
LG
Emanuel

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile
30.01.2015 13:38:39
Klaus
Hallo Emanuel,
in welcher Spalte steht denn die letzte Zeile? Und welchen Bereich willst du kopieren?
Wenn du zum Beispiel aus Tabelle Spalte A:C bis zur letzten Zeile in Spalte A kopieren willst, und in Tabelle2 ab X37 einfügen, dann so:
Sub KopiereBis()
Dim letzteZeile As Long
With Sheets("Tabelle1")
letzteZeile = .Cells(.Rows.Count, 1).End(xlUp).Row  ' Die ,1 steht für Spalte A, mit ,8 hä _
ttest du die letzte Zeile aus H
.Range("A1:C" & letzteZeile).Copy
End With
Sheets("Tabelle2").Range("X37").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
Bewusst einfach gehalten, der Code liesse sich auf Kosten der Lesbarkeit noch kürzen. Bereiche und Tabellennamen kannst du selber anpassen, oder?
Grüße,
Klaus M.vdT.

Anzeige
AW: Letzte Zeile
30.01.2015 14:04:26
Emanuel
Hallo Klaus,
danke für den Tipp.
Ich möchte allerdings nicht von oben herab alles kopieren, sondern die ganze letzte Zeile in waagrechter Richtung. Da die letzte Zeile variiert, bräuchte ich einen Befehl, der immer die tatsächlich letzte Zeile komplett kopiert.
LG
Emanuel

AW: Letzte Zeile
30.01.2015 14:18:24
Michael
Hallo Emanuel!
So? Annahme, die Werte beginnen in Tabelle1 in A1 und sollen in Tabelle2 ab A5 eingefügt werden:
Sub LetzteZeileKopieren()
Dim LetzteZeile As Long
Dim LetzteSpalte As Long
LetzteZeile = Tabelle1.Cells(1, 1).End(xlDown).Row
LetzteSpalte = Tabelle1.Cells(LetzteZeile, 1).End(xlToRight).Column
Tabelle1.Range(Cells(LetzteZeile, 1), Cells(LetzteZeile, LetzteSpalte)).Copy
Tabelle2.Range("A5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Klappt's? Freue mich über Rückmeldung
Lg
Michael

Anzeige
Wenn leere Spalten drin sind, Michael, ...
30.01.2015 14:22:39
Klaus
... dann klappt dein Code nicht bzw. nur bis zur ersten leeren Spalte. Gleiches gilt für die Zeilen. Besser ist es, von unten und von rechts zu suchen:
    LetzteZeile = Tabelle1.Cells(Tabelle1.Rows.Count, 1).End(xlUp).Row
LetzteSpalte = Tabelle1.Cells(LetzteZeile, Tabelle1.Columns.Count).End(xlToLeft).Column
Grüße,
Klaus M.vdT.

AW: Wenn leere Spalten drin sind, Michael, ...
30.01.2015 14:33:42
Emanuel
Dieselbe Fehlermeldung erhalte ich bei deiner Version, Klaus.

AW: Wenn leere Spalten drin sind, Michael, ...
30.01.2015 14:36:00
Michael
Hallo Klaus!
Da hast Du schon recht. Aber mangels genauerer Info bin ich von einer idealen, funktionierenden Tabelle ausgegangen - in der alles gefüllt ist, wie's sein soll ;-).
@ Emanuel: Die Ergänzungen von Klaus machen meinen Code dann universeller.
Lg
Michael

Anzeige
AW: Letzte Zeile
30.01.2015 14:29:11
Emanuel
Hallo Michael,
ich bekomme mit dem Code die Fehlermeldung "Objekt erforderlich". Wenn ich debugge, wird LetzteZeile = Tabelle1.Cells(1, 1).End(xlDown).Row gelb markiert.
LG
Emanuel

AW: Letzte Zeile
30.01.2015 14:41:15
Klaus
Hi Emanuel,
hast du denn eine Tabelle1 in deiner Datei? Oder vielleicht ein Englisches Sheet1, oder eine noch andere Spracheinstellung? Dann musst du natürlich den korrekten Namen eingeben. "Objekt erforderlich" bedeutet, das Objekt (Tabelle1) wurde nicht gefunden.
Du kannst auch den Blattnamen ausschreiben, wenn dir das einfacher vorkommt. Sagen wir, dein erstes Blatt heisst "Hallo Welt", dann so:
LetzteZeile = Sheets("Hallo Welt").Cells(Sheets("Hallo Welt").rows.count, 1).End(xlup).Row
Grüße,
Klaus M.vdT.

Anzeige
AW: Letzte Zeile
30.01.2015 14:52:11
Emanuel
Hallo Klaus,
danke für die schnelle Antwort. Ich hatte Tabelle1 bereits mit dem Namen meines Sheets ausgetauscht. Dennoch kam die Fehlermeldung. Jetzt habe ich es mit Sheets("xy") probiert und das hat funktioniert.
Danke dir!

AW: Letzte Zeile
30.01.2015 14:44:07
Michael
Hallo Emanuel!
Kann ich nicht ganz nachvollziehen... Gibt's bei Dir ein Tabellenblatt, das "Tabelle1" heißt bzw. hast Du den Codenamen der betroffenen Tabelle (von "Tabelle1") geändert?
Lg
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige