Userform und Checkbox

22/02/2009 - 22:56 von Willy Steffen | Report spam
Guten Abend
Ich habe eine Anwendung bei der ich Aenderungen vornehme und ich möchte,
dass der User wenn er sie öffnet einen Hinweis erhàlt, was geàndert wurde.
Dies habe ich mit einer UserForm gemacht. Auf die UserForm habe ich ein
Kontrollkàstchen hingetan, damit der Bediener diesen Hinweis deaktivieren
kann.
Ich krieg es einfachn nicht automatisch hin, der Wert in der
Checkbox-Eigenschaftsfenster àndert den Wert Value nicht auf True! Was mache
ich da falsch?
Hier die Codes:
Private Sub Workbook_open()
'Wird aufgerufen wenn die Mappe geöffnet wird
'Rechte Rand rot dick fàrben in aktuellem Kalenderwochenkolonne
Call RoteLinieAktuelleWoche.RoteLinieAktuelleWoche
'Linker Rand schwarz dick fàrben bei Jahreswende
Call JahresendeLinie.SchwarzeLinieJahreswende
'Zur Aktuellen Woche gehen
Call RoteLinieAktuelleWoche.GoToAktuelleWoche
'Abfragen Status Kontrollkàstchen True oder False
If frmVersionsAnzeige.NichtMehrZeigen.Value = False Then _
frmVersionsAnzeige.Show
End Sub

und der CheckBox Code:
Private Sub NichtMehrZeigen_Click()
'Setzen des Status Kontrollkàstchen True
frmVersionsAnzeige.NichtMehrZeigen.Value = True
End Sub

Vielen Dank im Vorauss für Eure Hilfe
Willy
 

Lesen sie die antworten

#1 stefan onken
23/02/2009 - 10:27 | Warnen spam
On 22 Feb., 22:56, Willy Steffen
wrote:
Guten Abend
Ich habe eine Anwendung bei der ich Aenderungen vornehme und ich möchte,
dass der User wenn er sie öffnet einen Hinweis erhàlt, was geàndert wurde.
Dies habe ich mit einer UserForm gemacht. Auf die UserForm habe ich ein
Kontrollkàstchen hingetan, damit der Bediener diesen Hinweis deaktivieren
kann.
Ich krieg es einfachn nicht automatisch hin, der Wert in der
Checkbox-Eigenschaftsfenster àndert den Wert Value nicht auf True! Was mache
ich da falsch?



hallo Willy,
solange das UserForm angezeigt wird, kannst du die Eigenschaften des
Form/der Steuerelemente nicht àndern.
Es ginge zeitverzögert, etwa so:

im Modul des Userform
Private Sub frmVersionsAnzeige_QueryClose(Cancel As Integer, _
CloseMode As Integer)
zustand = NichtMehrZeigen.Value
Application.OnTime Now + TimeValue("00:00:01"), "Proc"
End Sub

in einem Standardmodul
Public zustand As Boolean
Sub proc()
frmVersionsAnzeige.NichtMehrZeigen.Value = zustand
End Sub

ABER: trotz speichern bleibt die Einstellung nach schließen/öffnen der
Datei nicht erhalten. Das klappt mE nur, wenn die Änderung der
Checkbox von Hand
gemacht wird.

Zum speichern der Einstellungen musst du dir daher etwas anderes
suchen. Am einfachsten ist es, das mit einer Zelle (einer versteckten
Tabelle) zu machen. Allerdings erfordern Änderungen hier immer auch
ein speichern der Datei.
Ohne speichern der Datei geht es nur über die registry (GetSetting /
SaveSetting), eine externe Datei (zB als txt oder ini) oder eine
ausgeblendete Symbolleiste (zumindest bis Excel2003).

Gruß
stefan

Ähnliche fragen