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

Bereiche von bed.Formatng per VBA ändern

Bereiche von bed.Formatng per VBA ändern
18.11.2020 16:20:49
bed.Formatng
Hallo Excel Welt,
ich finde erstaunlicherweise nichts im Forum. Hab ich falsch gesucht? Ist eigentlich ein banales Thema.
In einer Tabelle habe ich 15 Spalten. 5 Spalten davon werden mit jeweils verschiedenen bedingten Formatierungen eingefärbt. Wenn die Tabelle aktualisiert wird, ändert sich die Anzahl der Zeilen. I.d.R. wird die Tabelle länger. Das wird in den bed. Format. aber nicht mitgezogen, obwohl es eine "intelligente" Tabelle ist. Namen vergeben geht auch nicht.
Frage: Wie kann ich per VBA eine bestehende bed. Formatierung ansprechen und ihr einen neuen Bereich zuweisen? Ich brech mir gerade die Finger. Wenn ich den Recorder anwerfe, zeichnet er nichts auf... :..-(
Danke und Gruß Georg

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereiche von bed.Formatng per VBA ändern
18.11.2020 16:38:53
bed.Formatng
Hallo Ralf,
danke, aber das hilft nicht.
- die dort gezeigte Variante ein "##" in die Bereichsdefinition zu schreiben (=$L$13:$L$##), führt bei mir zu der gleichen Reaktion, wie wenn ich einen Bereichsnamen dort einfüge(=PW_Korr): Excel baut es automatisch wieder in die klassische Sicht um (=$L$13:$L$1290) und bei der nächsten Aktualisierung passiert wieder nichts.
- ich vermute, ich muss dass mit VBA machen. Aber wie?
Gruß und Dank für deinen Hinweis
Georg
Anzeige
AW: Bereiche von bed.Formatng per VBA ändern
18.11.2020 17:11:55
bed.Formatng
naja, war ein Versuch wert,
die Formatcondition wie es in vba heißt, kann man sicher auch programmtechnisch bearbeiten.
Wie aktualisierst du denn deine Tabelle? Ist es nach der Aktualisierung immer noch die Gleiche?
rein theoretisch sollten die Bezüge sich dann doch automatisch erweitern.
AW: Bereiche von bed.Formatng per VBA ändern
18.11.2020 17:15:22
bed.Formatng
Die Tabelle bekommt per VBA neue Daten reinkopiert und "wächst" auch ganz lieb mit. Nur halt die Bereiche der bed. Formate machen das nicht.
Theoretisch sehe ich es wie Du...
AW: Bereiche von bed.Formatng per VBA ändern
18.11.2020 17:30:26
bed.Formatng
ich habe gerade ein paar Tests gemacht und festgestellt.
das die bedingte Formatierung mitwächst. egal ob die intelligente Tabelle per vba oder händisch erweitert wird.
per vba mittels listrows.add oder einfach nur per Range().insert ist auch egal.
Der Bezug hat sich immer auf die letzte Zelle erweitert.
Jetzt wäre es interessant wie deine Bed. Formatierung aussieht.
Anzeige
AW: Bereiche von bed.Formatng per VBA ändern
18.11.2020 21:47:15
bed.Formatng
Liegt es daran, wie ich die Daten einfüge?
1. Zieltabelle von alten Daten befreien (ClearContents)
2. benötigter Spaltenname einlesen (stehen in einer Liste bereit, die mit Do Until durchlaufen wird)
3. Spaltenname in Quelldatei suchen (Find(what:=vDatenFeldName..),
4. befüllte Zellen der gefundenen Spalte kopieren (copy)
5. Spaltenname in Zieldatei suchen (wie oben) und einfügen (PasteSpecial Paste:=xlPasteValues)
6. weiter bei 2. mit nächstem Spaltennamen
Die Tabelle macht das mit. Aber halt nicht die bed. Formatierung.
Die Formatierung ist XL einfach, z.B.:
Formel: =R13=""
Bereich: =$R$13:$R$1290
und die 1290 soll sich halt anpassen.
und nu ?
Anzeige
AW: Bereiche von bed.Formatng per VBA ändern
18.11.2020 23:59:53
bed.Formatng
du könntest das mal nach diesem Beispiel versuchen
https://stackoverrun.com/de/q/12886721
wobei hier mittels pastespecial(xlpasteFormats) die Formatierung aus einer anderen Tabelle rüberkopiert wird.
So ohne Beispieldatei läßt sich da aber nur mutmaßen.
hier mal ein Makro um deine Tabelle mit einer bed. Formatierung zu versorgen
Hier heisst die Tabelle "Tabelle1"
Sub Makro5()
' Makro5 Makro
Application.CutCopyMode = False
Range("Tabelle1").FormatConditions.Delete
Range("Tabelle1").Select
With Range("Tabelle1").FormatConditions
.Add Type:=xlExpression, Formula1:="=R13="""""
.Item(1).Interior.Color = 65535
End With
Range("Tabelle1").cells(1).select
End Sub

Anzeige
gelöst: bed.Formatng per VBA ändern
19.11.2020 11:56:40
Georg
Hallo Ralf,
danke für die Hinweise. Die haben zwar noch nicht genau gepasst, aber mich auf die richtige Fährte geführt. Ich hab es jetzt in einer Spieldatei so gelöst und hoffe, dass es auch in der großen klappt:
Sub bed_Form_anpassen()
Range("Tabelle1").FormatConditions.Delete       ' erstmal alle löschen
With Range("Tabelle1[Kunde]").FormatConditions  ' Tabelle wird mit allen Zeilen ausgewählt
.Add Type:=xlExpression, Formula1:="=E8>2"  ' Formel eingeben
.Item(1).Interior.Color = 65535             ' Format eingeben
End With
End Sub
Nochmal Danke (!) und Gruß Georg
Anzeige
Hauptsache gelöst! freut mich owt
19.11.2020 12:14:01
ralf_b

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige