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

Userform-Änderungen speichern

Userform-Änderungen speichern
ing.grohn
Hallo Forum,
programmtechnische Änderungen an der Userform und deren Elemente sind ja kein!? Problem. Aber, kann man solche Änderungen auch dauerhaft übernehmen?
Wenn ja, WIE?
Thank you ever so much
Mit freundlichen Grüßen
Albrecht
AW: Userform-Änderungen speichern
07.04.2010 09:34:46
Andi
Hallo Albrecht,
die selektierten Parameter auf der Userform werden durch das Ereignis Selektieren separat auf ein Speichermedium geschrieben. Beim erneuten Aufrufen der Userform werden diese gespeicherten Daten für die Userform geladen.
Speichermedien
1) Das kann ein separates Exceltabellenblatt sein, das man z.B. den Namen "Parameter" vergibt und die visible Eigenschaft auf veryhidden setzt.
2) Eine separate Datei z.B. *.txt oder selbstdefiniertes
3) Custom Properties
httpwww.bygsoftware.comExcelVBAcdp.htm
Ist damit Deine Frage beantwortet? Ich habe leider kein Beispiel, dass ich veröffentlichen könnte.
Gruß Andi
Anzeige
AW: Userform-Änderungen speichern
07.04.2010 10:26:47
ing.grohn
Hallo Andi,
verstanden hab ich das nicht wirklich!
Mein Anliegen ist: bei 25 Textboxen möchte ich die Hintergrundfarbe auf Magenta umstellen.
Nun könnte ich 25 mal die Eigenschaft BackColor der Boxen auf Magenta ändern (das ist dauerhaft).
Wenn ich eine Schleife laufen lasse und die Eigenschaft ändern. Das ist nicht dauerhaft.
Du sagst speichern. Wie mach ich das denn?
Oder geht das manuell auch einfacher?
Mit freundlichen Grüßen
Albrecht
AW: Userform-Änderungen speichern
07.04.2010 11:01:23
Anton
Hallo Albrecht,
meinst du so?:
Code:

Private Sub UserForm_Initialize()    
  Dim ctl As Control  
  For Each ctl In Me.Controls  
    If TypeName(ctl) = "TextBox" Then ctl.BackColor = RGB(255, 0, 255)  
  Next
End Sub  


mfg Anton
Anzeige
AW: Userform-Änderungen speichern
07.04.2010 11:08:55
ing.grohn
Hallo Anton,
so mein ich das. Aber, beim nächsten Aufruf soll diese Einstellung dann DA sein!
(gespeichert, wie von Hand gemacht, nicht noch mal den Programmaufruf)
Mit freundlichen Grüßen
Albrecht
das geht nur über Eigenschaften...owT
07.04.2010 11:10:44
Oberschlumpf
AW: Userform-Änderungen speichern
07.04.2010 11:08:41
Oberschlumpf
Hi Albrecht
Was genau möchtest du denn erreichen?
Wenn du erreichen möchtest, dass die BackColor der Textboxen dauerhaft magenta ist, dann hast du deine Frage schon selbst beantwortet:
- für jede Textbox die Eigenschaft Backcolor auf magenta setzen (nicht mit VBA-Code, sondern im Eigenschaftenfenster)
Möchtest du aber - abhängig von Situation - unterschiedliche Farben einsetzen, dann geht das entweder
- so, dass du im VBA-Code an der richtigen Stelle die Farben der Textboxen einstellst
- oder, dass du - wie Andi schon erwähnte - alle Änderungen der Userform-Eigenschaften in einem extra Tabellenblatt protokollierst und bei Bedarf auf diese Daten auch mit VBA-Code zurückgreifst.
Wenn auch meine Antwort dir nicht weiterhilft, dann bitte...
- eine Bsp-Datei (natürlich mit Userform)
- in der Bsp-Datei genaue Erklärung was wann wie wo warum passieren soll
Hilfts?
Ciao
Thorsten
Anzeige
AW: Userform-Änderungen speichern
07.04.2010 11:18:04
ing.grohn
Hallo Thorsten und all die anderen,
ich habs jetzt: automatisch ändern geht nicht!!
Man muß jede dauerhafte Änderung der Eigenschaften einzeln für jedes Element ausführen!
Vielen Dank für die Hilfe (auch die Beispiele bringen mich immer ein Stück weiter)
Mit freundlichen Grüßen
Albrecht
AW: Userform-Änderungen speichern
07.04.2010 11:08:52
Peter
Hallo Albrecht,
meinst Du es so: ?
Option Explicit
Private Sub UserForm_Initialize()
Dim iIndx  As Integer
For iIndx = 1 To 25
Controls("TextBox" & iIndx).BackColor = &H80FF&
Next iIndx
End Sub

Gruß Peter
AW: Userform-Änderungen speichern
07.04.2010 11:33:00
Andi
Leider habe ich nur diesen Ansatz aus dem Netz gefunden.
Siehe hier http://www.office-loesung.de/ftopic282681_0_0_asc.php.
Ich schaue mir mal die Objektstruktur in der Mittagspause an. Vielleicht gibt es doch eine "Hintertür" die Eigenschaftswerte "dauerhaft" via VBA Anweisung dem Steuerelement Textbox zuzuweisen.
Anzeige
AW: Userform-Änderungen speichern
07.04.2010 11:40:12
ing.grohn
Hallo Andi,
der Link beschreibt genau das, was ich erreichen möchte.
Nach dem Statement von Rainer geht das aber nicht.
Vielleicht findest Du ja auch ne einfache Lösung
(komisch, dass das keiner braucht)
Vielen Dank
Mit freundlichen Grüßen
Albrecht
AW: Userform-Änderungen speichern
07.04.2010 14:22:57
Andi
Hallo Albrecht,
habe leider keine Zeit diese Methode sinngemäß für Excel umzusetzen und keine Ahnung ob die Methode überhaupt mit Excel VB5 funktioniert. Interessant ist hier das Objekt
z.B. auf VBAProject.UserForm1.TextBox1
Sub SetDefaultProperties()
Dim txt As textbox
Dim ctl As Control
Set txt = VBAProject.UserForm1.TextBox1
Set ctl =txt.DefaultControl(acTextBox)
usw.
http://support.microsoft.com/kb/200593/de
Vielleicht findet sich einer, der sich offenbart, um diesen Microsoft Support zu testen.
Generell seien die Vorgabewerte während einer VBA Ausführung nicht beeinflussbar. Das hänge mit der Klassenvererbung zusammen. Dennoch gäbe es die Möglichkeit einer sogenannten "Überschattung", die dies dennoch ermöglichen solle. Wie auch immer, das Thema hat mich selber inspiriert. Viel fündiger zu Suchergebnissen kommt man über die „verdenglischte“ Begriffkombinationen. Default Properties ActiveX Vorgabewerte etc.
Gruß Andi
Anzeige
AW: Userform-Änderungen speichern
07.04.2010 20:44:46
ing.grohn
Hallo Andi,
hätte nicht gedacht, dass diese Frage derartige Schwierigkeiten nach sich zieht!
Vielen Dank für Deine Mühe.
Mit freundlichen Grüßen
Albrecht
AW: Userform-Änderungen speichern
07.04.2010 12:03:10
Reinhard
Hallo Albrecht,
was theoretisch gehen müßte aber sehr viel Aufwand erfordert wäre, du exportierst die UF, dann erhälst du eine Userform1.frm und eine Userform1.frx.
Angenommen du willst in der UF mit einer Textbox deren Hintergrundfarbe auf &H80000016& setzen (backcolor)
Von Haus aus hat die TB die backcolor &H80000005&.
In der gespeicherten .frx kannst du dann nach 05 00 00 80 suchen und dies durch 16 00 00 80 ersetzen.
Dann die UF löschen und die gespeicherte/geänderte Userform1.frm wieder importieren, dann starten mit Userform1.show.
NUR, dazu müßtest du das Dateiformat einer .frx-Datei genau kennen weil die Bytefolge 05 00 00 80 kann ja auch durch andere Dinge erzeugt worden sein.
Es gibt im Internet eine Seite da sind die Dateiformate sehr vieler Dateiendungen runterladbar, leider weiß ich nicht wie die heißt, watis.org, whatthis.org o.ä.
Gruß
Reinhard
Anzeige
AW: Userform-Änderungen speichern
07.04.2010 12:46:51
ing.grohn
Vielen Dank Rainer,
ich bin ja für vieles zu haben. manchmal mach ich auch Dinge, die von Hand schneller gehen. In dieser Geschichte wolln mer mal die Kirche im Dorf lassen.
Ich ändere von Hand oder mach ne Schleife.
Trortzdem vielen Dank
Mit freundlichen Grüßen
Albrecht

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige