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

Globale Formatierung Userforms

Globale Formatierung Userforms
20.01.2020 18:16:24
Christian
Hallo Leute,
ich finde einfach nichts weiterführendes zur Formatierung, per VBA, meiner Userforms im Web. Zumimdest nicht in dieser Komplexität.
Sie sollen einheitlich werden, ohne dass ich in jedem Form ellenlange Einstellungen vornehmen muss.
Also Positionen eines Bildes, Text, und Überschriften der Textboxes.
Das Ganze mit einheitlichen Hintergründen, weiß, auf weißem Formularhintergrund.
Ein Hinweis auf eine bereits bestehende Lösung, im Web, oder ein paar Codezeilen zur Anregung einer Idee würden mir sehr weiterhelfen.
Um ein einheitliches Menü zu haben, ist mir eingefallen, einen Frame zu nutzen und die Buttons dort abzulegen.
Dieser Frame könnte ja immer auf die selbe Position gesetzt werden, aber unterschiedliche Buttons enthalten.
Was meint Ihr dazu?

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Globale Formatierung Userforms
20.01.2020 18:37:07
Oberschlumpf
Hi Christian,
ich würde das so versuchen (jetz tkommt kein Code, nur ein Konzept)

Sub sbFormatieren(byval element As Control)
'Format für Textbox
Hintergrundfarbe = Farbe
Textfarbe = Farbe
Breite = Breite
usw...
'Format für Labels
Hintergrundfarbe = Farbe
Textfarbe = Farbe
Breite = Breite
usw...
usw
usw
End Sub
Sub Userform_Initialize()
Dim element As Control
For Each element In Userform1
sbFormatieren element
Next
End Sub
In Userform_Initialize wird mit For/Next jedes Control ins Sub sbFormat "geschickt" und mit den entsprechenden Werten formatiert.
Hilft das als Gedankenanstoß?
Ciao
Thorsten
Anzeige
AW: Globale Formatierung Userforms
20.01.2020 18:58:26
Christian
Hi Thorsten,
Deinen Ansatz kann ich nachvollziehen. So verstehe ich das auch.
Allerdings weiß ich nicht, wie ich globale Formatierungen vornehmen kann.
Z.B. "Alle Textboxen haben einen weissen Hintergrund".
Wenn ich das richtig sehe, müssten dann ja alle Boxen den gleichen Namen haben, um sie ansprechen zu können?!?
Damit würde dann ja aber eine individuelle Formatierung nicht mehr gehen.
Oder bin ich da total auf dem Holzweg...?
Beim Eröffnen dieses Threads, habe ich mein übliches "PS" vergessen:
PS:
Ich habe den Code nicht selber geschrieben.
Andere Foristi haben mir damit weitergeholfen.
Ich habe im Grunde nur die Tabellen erstellt, mir einiges im Web zusammengesucht, hier viel Hilfe bekommen und die Fleissarbeit gemacht.
So wirklich verstehe ich das Meiste nicht...
Mir ist klar, dass ich mich mit dem Projekt übernommen habe. Es ist aber schon so weit, dass ich es gern fertigbekommen würde.
Ich weiss, es ist viel, worum ich jetzt bitte. Aber wer nicht fragt...
Mag mir vielleicht jemand*e ein bißchen länger, als nur für ein Problem, zur Seite stehen?
Natürlich hier öffentlich im Forum, so dass Andere auch etwas davon haben.
Anzeige
Gegenfrage...
20.01.2020 21:52:32
Oberschlumpf
Hi Christian,
wieso muss eigtl per VBA-Code eine Textbox (oder sonstiges) mit Formatbefehlen bearbeitet werden?
Du kannst doch beim Erstellen/Bearbeiten deines Userforms jeder Textbox Hintergrundfarbe,Breite,Höhe, etc einstellen
Wieso MUSS das mit VBA-Code passieren?
Ciao
Thorsten
AW: Gegenfrage...
20.01.2020 23:22:14
onur
Ich finde es auch immer wieder lustig, dass immer wieder ausgerechnet Anfänger glauben, sie müssten unbedingt lernen, wie man während der Laufzeit an Design der Userformen (inkl Controls) und gar am Code herumpfuscht.
Ich selbst habe bis dato keinen Fall gehabt, wo es für mich nötig gewesen wäre und kann es mir auch nicht vorstellen, dass ich so etwas mal brauchen werde.
Anzeige
AW: Globale Formatierung Userforms
22.01.2020 09:21:55
Christian
Hallo Oberschlumpf,
mich interessiert diese Lösung, weil man so sehr einfach und schnell das Design der Userform ändern könnte.
So hätte z. B. jeder Betriebsteil die Möglichkeit, die Farben an die Farbe des Betriebsteils anzupassen.
Auch wenn nachträglich neue Felder im Userform angelegt werden, denke ich mir, dass das Arbeit spart.
Gruß, Christian
AW: Globale Formatierung Userforms
22.01.2020 18:33:26
Oberschlumpf
Hi Christian,
Nein, alle Boxen müssen nicht den gleichen Namen haben.
Der Name aller Controls ist egal.
In einer For/Next-Schleife wird der Control-Typ (Textbox, Label, Commandbutton, etc) geprüft und das Format wird entsprechend angepasst.
Du müsstest schon per Upload eine Bsp-Excel-Datei zeigen, die eben schon (d)ein erstelltes Userform enthält.
Ob ich dann weiterhelfen kann, weiß ich aber nicht. Ich kenne dein Userform ja noch nicht.
Ciao
Thorsten
Anzeige
sorry, zu groß für mich
25.01.2020 01:26:28
Oberschlumpf
Hi Christian,
du schreibst so gar nicht, was nun mit welchem Control geschehen soll (nur für Textbox gibst du als Farbe "weiß" an, dass ist aber eh schon weiß)
Und...das wusste ich ja vorher auch nicht, in deiner DAtei sind viele Userforms.
Da wirds dann wirklich schwierig, z Bsp jede Position von jedem Control per VBA zu bestimmen, bzw, ich finde, es macht keinen Unterschied, ob du das mit VBA oder "per Hand" machst.
Weiter viel Erfolg.
Ciao
Thorsten
Anzeige
AW: Globale Formatierung Userforms
25.01.2020 22:46:38
Matthias
Moin!
Um später nicht immer im Code rumzuwurschteln, bietet sich bei deinem Vorhaben ggf. an, ein extra Blatt anzulegen (ausgeblendet). Dort schreibst du je nach Controleigenschaft deinen Eigenschaftennamen und den Wert dazu. Dann kannst du durch beim Aufruf der UF die Daten auslesen und deine Controls danach anpassen.
Die Typeeigenschaft des controls kannst du mit
TypeName()
herausfinden.
Noch so als Idee.
VG
ich habe mir...
26.01.2020 11:14:28
Oberschlumpf
Hi Christian,
...deine Userforms doch noch mal angesehen (weil es EIGENTLICH nicht so schwer ist, Formatierungen von Controls zu ändern)
Und auch die Idee von Matthias mit der versteckten Tabelle finde ich im Ansatz gut.
Aber:
Das Einzige, was vom Anwender änderbar sein sollte, ist nur die Farbe für Schrift + Hintergrund.
Wenn du vom Anwender auch Höhe, Breite, Position ändern lässt, würden bei Position 0 alle Controls oben links in der Ecke stehen!
Das Design an sich, bezogen auf Höhe/Breite usw muss also für den Anwender unantastbar bleiben.
Und somit ist es zu viel Aufwand, es per Programmierung möglich zu machen, Farben zu ändern.
Außerdem Christian, zumindest ich hab noch kein Programm gesehen, bei dem der Programmierer mir "erlaubt", z Bsp die Farben der Controls nach meinem Wünschen zu ändern :-)
Aber ok, ich kenne ja auch nicht jedes Programm ;-) Vielleicht gibt es so etwas ja doch.
Ciao
Thorsten
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige