Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
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 in erste freie Zeile

letzte Zeile in erste freie Zeile
Michel
Hallo zusammen,
wie kann ich die letzte ausgefüllte Zeile, aber nur den Bereich der Zellen G:Q der Tabelle1 kopieren und in die erste freie (nicht ausgefüllte) Zeile des Zellenbereichs B:L der Tabelle 2 einfügen?
Ich hoffe, dass ich mich für mein Anliegen klar ausgedrückt habe.
Ich wäre sehr dankbar für eine VBA-Lösung.
Vielen Dank für Eure Hilfe.
Michel
AW: letzte Zeile in erste freie Zeile
15.05.2011 11:51:08
jowe
Hallo Michel,
so vllt.?
Sub Teil_Bereich_kopieren()
Sheets(1).Range(Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 7), _
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 17)).Copy _
Destination:=Sheets(2).Cells(Sheets(2).Cells(1, 2).End(xlDown).Row + 1, 2)
End Sub

Gruß
Jochen
AW: letzte Zeile in erste freie Zeile
15.05.2011 11:51:08
jowe
Hallo Michel,
so vllt.?
Sub Teil_Bereich_kopieren()
Sheets(1).Range(Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 7), _
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 17)).Copy _
Destination:=Sheets(2).Cells(Sheets(2).Cells(1, 2).End(xlDown).Row + 1, 2)
End Sub

Gruß
Jochen
Anzeige
AW: letzte Zeile in erste freie Zeile
15.05.2011 12:56:48
Michel
Hallo Jochen,
besten Dank für Deine schnelle Antwort, ich bekomme jedoch diese Fehlermeldung:
Laufzeitfehler 1004
Anwendung- oder Objektdefinierter Fehler
Was mache ich falsch?
Gruss
Michel
AW: kannst Du eine Datei hochladen?
15.05.2011 13:00:01
jowe
AW: Spinnt mein Notebook oder was soll das?
15.05.2011 13:01:30
jowe
AW: kannst Du eine Datei hochladen?
15.05.2011 13:00:06
jowe
AW: kannst Du eine Datei hochladen?
15.05.2011 13:00:06
jowe
AW: kannst Du eine Datei hochladen?
15.05.2011 13:00:06
jowe
AW: kannst Du eine Datei hochladen?
15.05.2011 13:00:06
jowe
AW: kannst Du eine Datei hochladen?
15.05.2011 13:00:07
jowe
AW: kannst Du eine Datei hochladen?
15.05.2011 13:50:52
Michel
Hallo Jochen,
kann leider die extrem grosse Datei nicht hochladen.
Habe nur die Tabellenamen wie folgt geändert:
Sub Teil_Bereich_kopieren()
Sheets("Alle Bestellungen").Range(Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 7),  _
_
Cells(UsedRange.SpecialCells(xlCellTypeLastCell).Row, 17)).Copy _
Destination:=Sheets("Rep Katalog").Cells(Sheets("Rep Katalog").Cells(1, 2).End(xlDown).Row + _
1, 2)
End Sub
Bennenungen stimmen überein!
Danke für Deine Hilfe
Gruss
Michel
Anzeige
Referenzierungsprobleme
15.05.2011 13:34:15
Erich
Hi Jochen und Michel,
bei "Sheets(1).Range(Cells(UsedRange." soll das Range in Sheets(1) liegen.
Wo liegen aber Cells und UsedRange? Im (zufällig) gerade aktiven Blatt
bzw. dem Blatt, zu dem der Code gehört. Das muss nicht Sheets(1) sein. Dann gibt es Waffelbruch.
So sollte es gehen:

Sub Teil_Bereich_kopieren2()
With Sheets(1)
.Range(.Cells(.UsedRange.SpecialCells(xlCellTypeLastCell).Row, 7), _
.Cells(.UsedRange.SpecialCells(xlCellTypeLastCell).Row, 17)).Copy _
Destination:=Sheets(2).Cells(Sheets(2).Cells(1, 2).End(xlDown).Row + 1, 2)
End With
End Sub
Sub Teil_Bereich_kopieren()
Sheets(1).Range(Sheets(1).Cells(Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row, 7), _
Sheets(1).Cells(Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row, 17)).Copy _
Destination:=Sheets(2).Cells(Sheets(2).Cells(1, 2).End(xlDown).Row + 1, 2)
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
noch ne Bemerkung
15.05.2011 13:38:23
Erich
Hi,
statt
Destination:=Sheets(2).Cells(Sheets(2).Cells(1, 2).End(xlDown).Row + 1, 2)
sollte auch gehen
Destination:=Sheets(2).Cells(1, 2).End(xlDown).Offset(1)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: noch ne Bemerkung
15.05.2011 14:29:00
Michel
Hallo Erich,
habe Deinen Code für meine Bedürfnisse unbenannt:
Sub Teil_Bereich_kopieren2()
With Sheets("Alle Bestellungen")
.Range(.Cells(.UsedRange.SpecialCells(xlCellTypeLastCell).Row, 7), _
.Cells(.UsedRange.SpecialCells(xlCellTypeLastCell).Row, 17)).Copy _
Destination:=Sheets("Rep Katalog").Cells(1, 2).End(xlDown).Offset(1)
End With
End Sub

leider bekomme ich den gleichen Fehler. Was könnte falsch sein?
Gruss
Michel
Anzeige
Immer noch Laufzeitfehler 1004
15.05.2011 16:04:14
Michel
Hallo Erich,
Immer noch Laufzeitfehler 1004 usw.
habe wirklich alles versucht leider ohne Erfolg, was gibt es noch für Möglichkeiten?
Meine VBA Kenntnisse sind sehr sehr mager!
Wäre sehr froh für eine Lösung!!
Gruss
Michel
AW: Immer noch Laufzeitfehler 1004
15.05.2011 16:48:24
Tino
Hallo,
baue einfach mal eine Tabelle auf die nur das nötigste enthält das zur Lösung wichtig ist,
diese sollte dennoch dem original gleich sein und lade diese mal hoch.
Gruß Tino
AW: Immer noch Laufzeitfehler 1004
15.05.2011 16:54:13
Matthias
Hallo
Das kann ja niemand testen ...
Warum lädst Du nicht eine abgespeckte Variante Deiner Datei hoch
Dann kann man gezielt nach dem Fehler suchen
Die Brechstange ist für solche Fälle
On Error Resume Next
in der Zeile unmittelbar unter der Sub()
Das unterdrückt aber alle auflaufenden Fehler und ist deshalb ja auch nicht immer sinnvoll
also besser eine abgespeckte Kopie hochladen und man schaut wo der Fehler liegt.
Userbild
Anzeige
wohl gefunden
15.05.2011 18:23:35
Erich
Hi Michel,
da gibt es gleich mehrere Probleme:
Der UsedRange in "Alle Bestellungen" geht bis Zeile 3683. Also würde dein Code den Bereich G3683:Q3683 kopieren.
Die Spalte B in "Rep Katalog" ist leer. Damit ist
Sheets("Rep Katalog").Cells(1, 2).End(xlDown) die Zelle B1048576. Darunter geht dann natürlich nichts mehr,
das Offset(1) bringt den Fehler.
An der Mappe meine ich erkennen zu können, dass du gar nicht in "Rep Katalog" in einen Bereich ab Spalte B,
sondern erst ab Spalte G kopieren willst.
So sollte es funzen:

Sub Teil_Bereich_kopieren3()
Dim wksBest As Worksheet
Set wksBest = Sheets("Alle Bestellungen")
With Sheets("Rep Katalog")
wksBest.Cells(wksBest.Cells(wksBest.Rows.Count, 7). _
End(xlUp).Row, 7).Resize(, 11).Copy _
Destination:=.Cells(.Rows.Count, 7).End(xlUp).Offset(1)
End With
End Sub
Ohne Beispielmappe wäre das nie und nmimmer erkennbar gewesen...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
nur Werte übertragen
16.05.2011 14:01:08
Erich
Hi Michel,
so werden nur Werte übertragen:

Sub Teil_Bereich_kopierenWerte()
Dim wksBest As Worksheet
Set wksBest = Sheets("Alle Bestellungen")
With Sheets("Rep Katalog")
.Cells(.Rows.Count, 7).End(xlUp).Offset(1).Resize(, 11) = _
wksBest.Cells(wksBest.Cells(wksBest.Rows.Count, 7). _
End(xlUp).Row, 7).Resize(, 11).Value
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
nur Werte übertragen - Beispielmappe
16.05.2011 19:03:27
Erich
Hi Michel,
wenn du Zweifel hast: ;-)
https://www.herber.de/bbs/user/74865.xlsm
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: nur Werte übertragen - Beispielmappe
16.05.2011 22:05:26
Michel
Hallo Erich,
Besten Dank es funz ! nochmals sorry
Gruss
Michel
Schön, danke für deine Rückmeldung, ...
17.05.2011 10:12:06
Erich
Hi Michel,
... mich würde aber schon noch interessieren, warum es bei dir zunächst nicht gefunzt hat.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Schön, danke für deine Rückmeldung, ...
17.05.2011 14:04:38
Michel
Hi Erich,
mein Wunsch war, dass die kopierte Zeile ab Spalte "B":" L" anstatt "G":"Q", eingefügt sein müsste, dass könnte ich selber ändern (hat aber Zeit gebraucht) und in Bezug auf "nur Werte einfügen" hatte ich vergessen Dir zu schreiben, dass in der kopierte Zeile Formeln vorhanden waren, es gab Fehlermeldung.
Nochmals vielen Dank für Deine super Hilfe und sorry für das "Vergessen".
Gruss
Michel
Anzeige
Danke, alles klar! (owT) :-)
17.05.2011 16:31:57
Erich
Testhilfen
15.05.2011 18:35:14
Erich
Hi Michel,
bei derartigen Problemen helfen manchmal ein paar MsgBoxen mit Infos über verwendete Daten.
Probier doch mal:

Sub Testen()
With Sheets("Alle Bestellungen")
MsgBox .UsedRange.SpecialCells(xlCellTypeLastCell).Row
MsgBox .Range(.Cells(.UsedRange.SpecialCells(xlCellTypeLastCell).Row, 7), _
.Cells(.UsedRange.SpecialCells(xlCellTypeLastCell).Row, 17)).Address
End With
MsgBox Sheets("Rep Katalog").Cells(1, 2).End(xlDown).Row
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Testhilfen
15.05.2011 19:08:39
Michel
Hallo Erich
Super! Es hat geklappt. Das ist phänomenal. Ganz herzlichen Dank für Deine grossartige Unterstützung. Gratulation!!
Ich bedanke mich für Deine Hilsbereitschaft.
Schönen Abend und einen guten Wochenstart wünsche ich Dir.
Gruss
Michel.
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige