Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1884to1888
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

Bereich per Script formatieren

Bereich per Script formatieren
19.05.2022 15:26:59
Peter
Hallo zusammen,
ich lese schon jahrelang mit und nutze Euer Wissen mit . Meinen Dank dafür.
Bei folgendem Problem benötige ich Hilfe:
Ich frage mit Power-Query Daten aus einer SQL-Datenbank ab. Die Abfrage läuft tadellos und wird in einen benannten Bereich eines Worksheets geschrieben.
Soweit alles gut. Die automatische Formatierung des Bereichs entspricht nicht meinen Vorstellungen, beispielsweise weil Zeilen basierend auf mehreren Zellinhalten basiernd farbig unterlegt werden soll. Eine bedingte Formatierung durch die entsprechende Excel-Funktionalität schied daraufhin aus. Kein Problem dachte ich und schrieb daraufhin ein kleines Script. Auch dieses Script funktioniert - solo gestartet - tadellos.
Die Abfrage aktualisiere ich mit einem durch Button angestoßenen Makro. Letzteres enthält als ersten Schritt ein Unterprogramm zur Datenaktualisierung und als zweites Unterprogramm das oben genannte Formatierungsscript. Bei Ablauf des Gesamtscripts erscheint kurz die gewünschte Formatierung und wird danach von der automatischen Formatierung überschrieben. Das beide Unterprogramme sind in Modulen abgelegt, das Starterscript hängt an der Tabelle.
Warum bleibt das Formatierungsscript als Unterprogramm unwirksam, bzw. wird zwar ausgeführt, dann aber von der automatischen Formatierung überblasen, obwohl die Abfrage lange gelaufen ist?
Ich wollte zunächst die Mappe hochladen, ohne die externen Bezüge bringt das aber nicht wirklich weiter. Wenn die Scripte zur Beantwortung benötigt werden, werde ich die solo hochladen.
Danke Peter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich per Script formatieren
19.05.2022 16:33:38
Yal
Hallo Peter,
mache einen Copy-Paste as value vom Datenbereich und legen deine Abfrage auf diese Kopie. Es sollte passen, um das Verhalten zu rekonstruieren.
Denn ohne Code wird es schwierig. Alle was man nachbaut, weicht immer erheblich vom Original (ausserdem funktioniert bei mir eh immer alles :-P ;-)
VG
Yal
AW: Bereich per Script formatieren
19.05.2022 16:48:17
Peter
Also hier die Datei. Die Ergebnismengen (benannte Bereiche) habe ich von der Abfrage gelöst.
https://www.herber.de/bbs/user/153155.xlsm
Ich hoffe, das Problem lässt sich trotz der fehlenden Abfragen und gefüllten Bereich rekonstruieren.
Danke
Peter B
Anzeige
AW: Bereich per Script formatieren
19.05.2022 17:57:22
Peter
Ich habe die Arbeitsmappe jetzt so modifiziert, daß der Fehler auch ohne DB-Zugriff klar erkennbar ist.
Neue Datei: https://www.herber.de/bbs/user/153159.xlsm
Man reproduziert den Fehler wie folgt:
- Sheet"DemoErgebnis" im roten Feld eine Zahl eintragen (1,2,3 möglich)
- Button "Aktualisieren und formatieren" anklicken, jetzt wird die Abfrage aktualisiert, die richtigen Daten erscheinen und die Formatierung ist zum Teufel
- Button "Nur Formatieren" anklicken, jetzt wird das Format sauber aufgebaut
Das Sub des Buttons "Nur Formatieren" ist im Code von "Aktualisieren und formatieren" enthalten.
Wo ich Hilfe benötige:
Warum wird die Formatierung nicht in Kombination der Abfrage aufgebaut, obwohl sie als Sub Bestandteil des Aktualisierungsmakros ist?
Gruß
Peter B
Anzeige
AW: Bereich per Script formatieren
19.05.2022 18:31:30
ralf_b
markiere eine Zelle in deiner Tabelle. Unter Menü Daten-- Abfragen und Verbindungen Wird der Eintrag "Eigenschaften" aktiviert. Dort kannst du auswählen ob Spaltenbreite angepasst werden soll oder nicht in der Abfrage.
AW: Bereich per Script formatieren
19.05.2022 18:49:35
Peter
Danke ralf_b für Deinen Hinweis. Das ist zwar nicht die Lösung, aber Du hast mich auf die richtige Spur gebracht.
Läßt man die Abfrage unter Hintergrundlast laufen, um den Ablauf zu verlangsamen, sieht, das zunächst die Formatierung durchgeführt wird und danach die Aktualisierung, die die Formatierung wieder zerschießt. Man könnte den irren Schluß ziehen, dass manche Programme rückwärts ablaufen :-)
Die Lösung ist folgende:
- Zelle in der Ergebnistabelle anklicken
- Im Menü Verbindungen.Eigenschaften im Fenster "Externe Dateneigenschaften" rechts neben dem Verbindungsnamen das Icon anklicken und dort in der Verwendung die Aktualisierungssteuerung "Aktualisierung im Hintergrund zulassen" rausnehmen. Dann erfolgt die Abarbeitung des Codes in der richtigen Reihenfolge, die Formatierung steht.
GELÖST und Danke
Peter B
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige