167 Aufrufe
Gefragt in Tabellenkalkulation von revanchist Mitglied (183 Punkte)

Schönen Sonntag
ich möchte in einem Excel-Tabellenblatt mit dem Namen Cockpit zwei Bereiche kopieren und einschl. deren Formatierungen an einer festgelegten Stelle nebeneinander einfügen.
Problem: die zu kopierenden Bereich sind spaltenmäßig immer gleich, aber die Zeilenbezüge varieren.

Wichtig dabei ist, dass immer der letzte Eintrag in Spalte AA und BK den Bezug für die Kopierbereiche darstellt.
Egal ob im Bereich oberhalb des letzten Spalteneintrags nur 5 Zeilen belegt sind oder 75 Zeilen, immer soll sich der Bereich von der aktuell letzten Eintragung 18 Zeilen hoch erstrecken. 
Die Bereiche zw. AA:und AI resp. BK und BS sind was die Menge an Zeilen angeht, nicht immer identisch.
Die kleinste Zeilennummer für den Bezug (wo alles nach oben beginnt) ist Zeilenr.37. Was darüber steht kann einfach mitkopiert werden. Wenn mehr als 37 + 18 Zeilen belegt sind, dann relativiert sich der Bereich oberhalb des Kopierbereichs.
Wenn es zu kompliziert wäre, kann das Ganze auch über 2 getrennte CommandButtons abgerufen werden.

Vor dem Kopieren müssten vermutlich zuerst die Bereiche Y2:AG19 und AH2:AP19 gelöscht werden, dass nicht immer Excel die Frage: Zellbereich überschreiben stellen muss smiley

 
Beispiele:(sorry wenn das mit dem Einstellen der Beispiele vlt. etwas chaotisch ist)

https://i.postimg.cc/rmFrvMdh/Beispiel-I.gif
https://i.postimg.cc/g2F6GvXL/Beispiel-II.gif
https://i.postimg.cc/4dSmqtRd/Beispiel-III.gif

Ciao der Revanchist

2 Antworten

0 Punkte
Beantwortet von revanchist Mitglied (183 Punkte)
Hoffe dass das mit dem Anzeigen der Beispielscreenshots klappt.
Falls nicht bitte nachfragen - Danke
0 Punkte
Beantwortet von revanchist Mitglied (183 Punkte)

Problem gelöst
ich habs die Lösung über 2 getrennte CommandButtons gelöst
hier der Code für den Zielbereich Y2:AG19

Private Sub CommandButton115_Click()

Dim zeile As Long

zeile = Application.Max(37, Cells(Rows.Count, 26).End(xlUp).Row + 1)

Cells.Calculate

 Cells(zeile - 16, 27).Resize(18, 9).Copy  'hier muss ich noch ein wenig testen was für XX bei (zeile - XX, 27) stehen muss

 Range("Y2:AG19").PasteSpecial xlPasteValues

 Range("Y2:AG19").PasteSpecial xlPasteFormats

 Range("D12").Select

End Sub

für den Zielbereich BK37:BS54 dann alles adäquat.
Vlt. gibt es auch elegantere Lösungen

Ciao der Revanchist
 

...