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

VBA Autofill mit dynamischen Bereich

VBA Autofill mit dynamischen Bereich
27.08.2015 16:55:25
Marcus
Hallo zusammen,
ich benötige erneut die Hilfe von euch Profis, da ich in diversen Foren keine Lösung für mein Problem gefunden habe und mit meinem Latein am Ende bin.
Ich habe eine recht große dynamische Excelliste mit teils umfangreichen bedingten Formatierungen. Per Schaltfläche möchte ich vor der letzten Zeile eine neue einfügen und die Formatierung aus 2-3 Zeilen darüber bis zum Ende übernehmen, da es mir sonst die bedingte Formatierung zerschießt.
Manuell markiere ich bisher die letzte Zeile, füge mit STRG + eine neue darüber ein, markiere eine Zeile etwas weiter oben und ziehe die gesamte Formatierung nach unten. Mit dem Makrorecorder lässt sich das wunderbar aufzeichnen und nachvollziehen, jedoch fügt er ja immer an derselben Stelle die neue Zeile ein.
Folgende beide Codes funktionieren nur teils:
Sub NeueZeile1()
Rows(Cells(Rows.Count, 1).End(xlUp).Row).Select
Selection.Insert Shift:=xlDown
Rows(Cells(Rows.Count, 1).End(xlUp).Row - 3).Select
Selection.AutoFill Destination:=Selection.Resize(2, Selection.Columns.Count), Type:= _
xlFillFormats
End Sub

Sub NeueZeile2()
Dim lngLast As Long
lngLast = Cells(Rows.Count, 1).End(xlUp).Row
Set SourceRange = Range("A8:J8")
Rows(Cells(Rows.Count, 1).End(xlUp).Row).Select
Selection.Insert Shift:=xlDown
SourceRange.AutoFill Destination:=Range("A8:J" & lngLast), Type:=xlFillFormats
End Sub
Im ersten Makro markiert er mir nach dem Einfügen die 4.-letzte Zeile, aber übernimmt die Formatierung nicht bis zum Ende. Im zweiten schon, wobei ich nicht den festen Bereich “A8:J8“ bzw. “A8:J“ angeben möchte, da die Spaltenzahl variieren kann und die Formatierung hier leider schon ab der ersten Zeile (in dem Fall 8) übernommen wird.
Meine Versuche bei Destination:=Range den Startpunkt als dynamischen Bereich festzulegen endeten immer in Fehlermeldungen.
Ich würde mich freuen, wenn mir jemand helfen kann. Danke im Voraus.
Gruß, Marcus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Alternative
28.08.2015 12:34:56
Jürgen
Hallo Marcus,
wäre es keine Option für Dich, die Daten als Tabelle / Liste zu formatieren? Beim Anfügen von Daten erweitert diese sich (inkl. Formatierungen) automatisch
Gruß, Jürgen

AW: Alternative
28.08.2015 12:50:05
Marcus
Hallo Jürgen,
das meinte ich mit "ich habe eine dynamische Excelliste". Also sie ist als Tabelle formatiert, eben weil die ja sonst so Klasse sind. Die Bedingte Formatierung passt sich dabei aber nur zum Teil an. Einige der Formatierungen enthalten Formeln (simples Beispiel: =$A9$A8). Dieser Bezug wird "zerstört", wenn ich vor A9 eine neue Zeile einfüge. Dann steht in der Formatierung: =$A10$A8. Wenn man das Format einer ganzen Zeile über die neu eingefügten Zeilen zieht, ist das wieder sauber. Jedoch gelingt mir das noch nicht per Makro.
Mfg Marcus

Anzeige
AW: Alternative
01.09.2015 13:16:00
Marcus
Der Typ von Jürgen mit dem Anfügen klappt nur teils. Die Liste wird zwar erweitert und die bedingte Formatierung auch, aber die normale Formatierung wird nicht beibehalten. Vermutlich weil bei der Entwicklung der Liste verschiedene Rahmen, Farben etc. verwendet wurden als letztendlich jetzt zu sehen sind, kommen nach dem Anfügen neuer Datensätze wieder die "alten" Formatierung - z.B. Rahmen wo sie nicht hingehören.

105 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige