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

Zeilen kopieren verbundene Zellen

Zeilen kopieren verbundene Zellen
05.08.2015 07:42:22
Thomas
Hallo,
hat jemand ein macro das die letzten zwei gefüllten Zeilen kopiert und hinter der letzen gefüllten Zeile einfügt? Das Macro könnte die Spalte AE prüfen ob Sie gefüllt ist. Man findet dazu viel im Netz aber mein Problem ist das immer zwei Zellen in den Spalten a, J, S, und ac z.B. Zelle ( a77 mit a78, A 79 mit A80 unsw.) verbunden sind. Im Netz finde ich immer das so etwas mit verbundenen Zellen nicht geht. Aber vielleicht stimmt es ja nicht was im netz steht und jemand hat ein Trick auf Lager.
liebe grüsse thomas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen kopieren verbundene Zellen
05.08.2015 08:56:24
Daniel
Hi
probier mal:
With Cells(Rows.Count, "AE").end(xlup)
.offset(-1, 0).resize(2).EntireRow.Copy
.Offset(1, 1 - .column).PasteSpecial xlpasteall
End with
die Verbundenen Zellen bereiten nur dann ein Problem, wenn man versucht nur einen Teil eines Zellverbundes zu bearbeiten.
Man sollte also immer darauf achten, dass man den ganzen zellverbund "erwischt" und nicht nur Teile davon.
deswegen vielleicht alternativ folgender Code, wenn in Spalte A der zellverbund ist:
with Cells(Rows.count, "AE").End(xlup)
With .Offset(0, 1 - .column)
.MergeArea.EntirerRow.Copy
.Offset(1, 0).PasteSpecial xlpasteall
end with
end with
Gruß Daniel

Anzeige
AW: Zeilen kopieren verbundene Zellen
05.08.2015 11:01:21
Thomas
Hallo Daniel,
cool das ich gefragt hab aber noch besser das du mir dieses Beispiel lieferst.
Das erste Beispiel arbeitet super es nimmt sogar die Formeln und die ausgeblendeten Spalten mit. Klasse
Das zweite Beispiel stenkert noch ein wenig hier .MergeArea.EntirerRow.Copy Objekt unterstützt diese Eigenschaft oder Methode nicht. Nun ja das erste macht es ja schon super.
Was muss ich noch ergänzen damit er nicht nur eine Zeile anfügt sonder 10 zeilen. So nach dem Motto
unten geht leider nicht.
hast Du eine Idee?
liebe grüsse thomas
Sub lk()
With Cells(Rows.Count, "T").End(xlUp)
.Offset(-1, 0).Resize(2).EntireRow.Copy
.Offset(1, 1 - .Column).PasteSpecial xlPasteAll
.Offset(-1, 0).Resize(2).EntireRow.Copy
.Offset(1, 1 - .Column).PasteSpecial xlPasteAll
End With
End Sub

Anzeige
AW: Zeilen kopieren verbundene Zellen
05.08.2015 11:09:49
Daniel
sorry, versteh ich nicht.
Beschreibe bitte genauer was du willst.
Achte bitte darauf, dass deine Zusatzanfrage auch zu der Datei passt, die du in deiner ersten Anfrage zugrunde gelegt hast.
Beispielsweise verwirrt mich zusätzlich, dass du plötzlich für die Ermittlung der letzten Befüllten Zeile von Spalte AE auf T umschwenkst.
Sowas verwirrt, wenns eine Ergänzugnsfrage zur ersten Anfrage ist.
Gruß Daniel

AW: Zeilen kopieren verbundene Zellen
05.08.2015 12:11:28
Thomas
Hallo Daniel,
du hast natürlich recht. Ich habe es erst mal in eine Testdatei getestet deshalb steht da jetzt das T.
In der richtigen Datei ist es die Spalte AE. sorry. Es geht darum das ich eine grosse Datei mit ca. hundert Tabellenblätter habe sie ist vollgestopft mit Formeln und ist deshalb schreibgeschützt. In dieser Datei geben wir täglich Daten ein. Immer wenn keine vorbereitete Zeile mehr da ist muss ich in allen Tabellen Blättern die letzte leere Zeile 10 mal kopieren so das wir wieder Daten eingeben können. Dies ist ganz schön Zeitaufreibend. Deshalb habe ich überlegt es mit einem Macro zu machen. Immer wenn das Tabellenblatt aktiviert wird soll das macro schauen ob in Spalte AE ein "neu" steht und wenn ja dann sollen 10 mal die letzte Zeilen kopiert werden. Dieses "neu" schreibe ich dann mit einer formel hin. Der erste Plan war Das Macro 10 mal hintereinander laufen zu lassen aber dies geht nicht dann komme ich mit meinem neu nicht mehr klar. Deshalb wäre es toll wenn das macro genauso bleibt aber nicht nur eine Zeile eingefügt wird sondern 10 Zeilen. Sagen wir mal kopiere die letzten beiden Zeilen und füge sie 10 mal hintereinander ein.
OH Oh ich hoffe ich habe dich jetzt nicht zu getextet.
vielen vielen dank für dein Interesse an meiner Aufgabe.
liebe grüsse thomas

Anzeige
AW: Zeilen kopieren verbundene Zellen
05.08.2015 12:48:47
Daniel
Hi
wenn du einen Zellbereich einfach kopieren willst, dann gibst man als Zielbereich zum Einfügen immer nur die linke obere Zelle des Zielbereichs an.
dann wird der kopierte Bereich so eingefügt, wie er ist.
wenn du beim Einfügen den Kopierten Bereich vervielfachen willt, dann gibst du als Zielbereich nicht mehr nur die linke obere Zelle an, sondern du vergrösserst diesen Bereich um die entsprechende Anzahl Zellen.
Dafür kann man die Resize-Funktion benutzen, derern Verwendung hast du ja inzwischen kennengelernt.
wenn du beispielsweise die Zeilen 1:2 kopieren und 10x duplizieren willst dann:
Rows(1).Resize(2).Copy
Cells(3, 1).Resize(20).PasteSpecial xlpasteall

(dadurch dass du hier nur eine Spalte als Zielbereich angibst, werden nur die Zeilen dupliziert und die Spalten werden 1:1 übernommen.
die grösse des Zielbereichs sollte ein ganzzahliges Vielfaches des Quellbereichs sein.
Gruß Daniel

Anzeige
For Schleife
05.08.2015 12:23:01
AlexG
Hallo Thomas,
da geht z.B. mit einer For- Next Schleife
Sub lk()
With Cells(Rows.Count, "T").End(xlUp)
.Offset(-1, 0).Resize(2).EntireRow.Copy
For i = 0 To 8 Step 2
.Offset(1 + i, 1 - .Column).PasteSpecial xlPasteAll
Next i
End With
End Sub
Gruß
Alex

perfekt vielen dank an Daniel und Alex
05.08.2015 12:44:13
Thomas
Hallo,
recht vielen vielen dank damit spare ich mir sehr viel Arbeit es funktioniert super.
liebe grüsse Thomas

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige