Herbers Excel-Forum - das Archiv

Sehr merkwürdig...HIDE geht nicht mehr!!!

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Sehr merkwürdig...HIDE geht nicht mehr!!!
von: Martin Halberstadt
Geschrieben am: 30.09.2003 14:55:24
Hallo liebe Forumsbesucher,

ich habe ein merkwürdiges Problem.

Und zwar habe ich in einer Excel-Datei eine UserForm mit drei CommandButtons.
Button1 verlässt die UserForm, Button2 setzt alle Werte in ListBoxes, ComboBoxes usw. zurück auf Null bzw. löscht die Inhalte und Button3 öffnet eine InputBox.

Die UserForm starte ich per CommandButton auf meiner Excel-Oberfläche.

Mein Problem ist nun folgendes:

Wenn ich die Datei öffne, die UserForm starte und Button3 anklicke, dann verschwindet die UserForm und die InputBox erscheint. Dies stimmt mich glücklich, denn so will ich es haben. Traurig stimmt es mich aber, wenn ich erst einen der anderen Buttons drücke und DANN Button3. Dann erscheint zwar die InputBox, aber die UserForm verschwindet nicht. So soll es natürlich nicht sein.

Alle TakeFocusOnClicks stehen auf "False"!
Im Quellcode von Button3 steht auch am Anfang "UserForm.Hide".
Gewöhnlich funzt es, jedoch nicht, sobald ich vorher etwas anderes anklicke.

Ich wäre Euch sehr dankbar, wenn Ihr mir bei meinem Problem helfen könntet.

Vielen Dank im voraus.

MfG,
Martin Halberstadt

Bild

Betrifft: AW: Sehr merkwürdig...HIDE geht nicht mehr!!!
von: Carsten
Geschrieben am: 30.09.2003 15:02:19
Hallo Martin,

poste doch mal den Code.

Gruß
Carsten
Bild

Betrifft: Hier ist der Code!!!
von: Martin Halberstadt
Geschrieben am: 30.09.2003 15:05:43
Hi Carsten,

hier ist der Code. Ich hoffe der trägt zur Lösung des Problems bei.

Code:

Private Sub cmdUserSchnellsuche_Click()
Suchmaske.cmdUserSchnellsuche.TakeFocusOnClick = False
Suchmaske.cmdUserNeueSuche.TakeFocusOnClick = False
Suchmaske.Hide
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sUserSchnellsuche As String
sUserSchnellsuche = InputBox("Bitte Namen/Suchbegriff eingeben:", "Schnellsuche")
If sUserSchnellsuche = "" Then
Suchmaske.Show
Exit Sub
End If
For Each wks In Worksheets
Sheets("Tabelle2").Select
Set rng = wks.Cells.Find(what:=sUserSchnellsuche, lookat:=xlWhole, LookIn:=xlFormulas, SearchOrder:=xlByColumns)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, False
If MsgBox(prompt:="Weiter suchen?", Buttons:=vbYesNo + vbQuestion) = vbNo Then
Tabelle1.Activate
Suchmaske.Show
Exit Sub
End If
Set rng = wks.Cells.FindNext(After:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox prompt:="Die Schnellsuche konnte keine bzw. keine weiteren übereinstimmenden Daten finden. Bitte überprüfen Sie Ihre Eingabe auf eventuelle Rechtschreibfehler und versuchen Sie es erneut."
Tabelle1.Activate
Suchmaske.Show
End Sub


Gruß, Martin Halberstadt
 Bild