Userform überspringt beim erneuten Aufrufen die In

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Userform überspringt beim erneuten Aufrufen die In
von: Ralph P.
Geschrieben am: 08.07.2002 - 10:48:13

Hallo.
Ich rufe aus einer Userform (frmWahl) mittels eines Commandbuttons und dem Befehl 'frmView.Show' diese auf. Die erste Userform wird mittels den Befehlen 'frmWahl.Hide' und 'Unload frmWahl' bei der Initialisierung geschlossen. Beim ersten Aufruf durchläuft diese die Initialisierung. Ich verlasse diese Userform (frmView) durch das Terminate-Ereignis und rufe gleichzeitig wieder die erste Userform (frmWahl) auf. Hier wird wiederum bei der Initialisierung mit Hide und Unload die Userform frmView geschlossen.
Bei erneutem Aufruf der Userform frmView wird nun die Initalisierung nicht mehr durchlaufen.
Wer kann helfen?

nach oben   nach unten

Re: Userform überspringt beim erneuten Aufrufen die In
von: Michael Scheffler
Geschrieben am: 08.07.2002 - 11:15:16

Hallo,

auch an dieser Stelle wieder der Hinweis, dass "Show" alleine noch keinen Sommer macht. "Show" lädt immer eine neue Instanz der UF in den Speicher.

Also, auch wenn wenn es ab Office 2000 nur mit "Show" geht, besser ist es, erst "Load UF" und dann "UF.Show" zu programmieren. So hast Du die Anzahl der Instanzen Deiner Formulare immer im Griff.
Gruß

Micha


nach oben   nach unten

Re: Userform überspringt beim erneuten Aufrufen die In
von: Ralph P.
Geschrieben am: 08.07.2002 - 11:25:00

OK
Ich habe jetzt überall mit dieser Methode gearbeitet, aber beim zweiten Aufruf der UF frmView wird die Initialisierung noch immer nicht durchlaufen.

nach oben   nach unten

Re: Userform überspringt beim erneuten Aufrufen die In
von: Andreas
Geschrieben am: 08.07.2002 - 11:30:40

Hallo Ralph,

ich glaube so ganz ohne Code fällt es uns schwer weiter zu helfen. Poste einfach mal alle relevanten Codestellen!

Andreas


nach oben   nach unten

Re: Userform überspringt beim erneuten Aufrufen die In
von: Michael Scheffler
Geschrieben am: 08.07.2002 - 11:33:25

Hallo,

dann hast Du sei mit "Hide" versteckt und dann muss der Code ins "Activate".

Gruß

Micha


nach oben   nach unten

Re: Userform überspringt beim erneuten Aufrufen die In
von: Ralph P.
Geschrieben am: 08.07.2002 - 12:10:40

Sorry, ich komme noch immer nicht weiter.
Hier mal die Codes der UF's
frmWahl:
Public laRall As String ' Anzahl der benutzten Zeilen in Tabelle "all"
Public laRopen As String ' Anzahl der benutzten Zeilen in Tabelle "open"
Public laRown As String ' Anzahl der benutzten Zeilen in Tabelle "own"

Private Sub cmdExit_Click()
ThisWorkbook.Close (True)

End Sub

Private Sub cmdViewAll_Click()
Worksheets("all").Select
Load frmView
frmView.Show

End Sub

Private Sub cmdViewOpen_Click()
Worksheets("open").Select
Load frmView
frmView.Show

End Sub

Private Sub cmdViewOwn_Click()
Worksheets("own").Select
Load frmView
frmView.Show

End Sub

Private Sub UserForm_Initialize()
laRall = Worksheets("all").Cells(Rows.Count, 1).End(xlUp).Row
laRopen = Worksheets("open").Cells(Rows.Count, 1).End(xlUp).Row
laRown = Worksheets("own").Cells(Rows.Count, 1).End(xlUp).Row
offen = 0
own = 0

For i = 2 To laRall
If Range("D" & i).Value = "" Then
offen = offen + 1
Else
End If

If Range("B" & i).Value = user Then
own = own + 1
Else
End If
Next i

frmAnmeld.Hide
If viewform = True Then
Unload frmView
Else
End If

lblWelcome.Caption = "Hallo Herr/Frau " & user & "." & vbCr & vbCr & "Es stehen insgesamt " & laRall - 1 & " Frage/n in der Tabelle 'all'." & vbCr & "Es sind insgesammt " & offen & " offene Frage/n in der Tabelle." & vbCr & "Es wurde/n " & own & " Frage/n von Ihnen gestellt."

End Sub
_________________________________________
frmView

Private Sub cmdDown_Click()
ActiveWindow.LargeScroll Down:=1
End Sub


Private Sub cmdPrint_Click()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Private Sub cmdUp_Click()
ActiveWindow.LargeScroll Up:=1
End Sub


Private Sub UserForm_Initialize()

Unload frmWahl

End Sub

Private Sub UserForm_Terminate()
viewform = True
Load frmWahl
frmWahl.Show
End Sub

nach oben   nach unten

Re: Userform überspringt beim erneuten Aufrufen die In
von: Michae Scheffler
Geschrieben am: 08.07.2002 - 12:47:00

Hallo,

Du lädst doch ca. 1000mal frmView, Du hast doch keine Übersicht mehr darüber.

Mein Tipp: frmView einmal laden. Ob es geladen ist, bekommst Du mit der UserForms-Collection raus. Bei diesm Laden die Grundeinstellungen in der "Initialize"-Prozedur eingeben.

Dann, abhängig von der Stelle, wo Du es aufrufst, das frmView.Tag setzen. Das kannst Du in der "Activate" prüfen und entsprechend darauf reagieren.

Gruß

Micha

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Userform überspringt beim erneuten Aufrufen die In"