Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Buttons in Userform plötzlich inaktiv

10 views
Skip to first unread message

Jessica Stamme

unread,
Nov 21, 2002, 3:51:22 AM11/21/02
to
Hallo!
Ich habe zwei Userforms namens Einschränkung und BildGroß1.
Auf der Userform Einschränkung liegt Einschränkung.Bild
Dort wird durch klicken auf verschiedene Buttons jeweils
ein Bild geladen.
Wenn der Benutzer auf das Bild klickt,

Private Sub Bild_Click()
Einschränkung.Hide
Load BildGroß1
BildGroß1.Show
End Sub

Auf BildGroß1 liegt Image1 und wenn ich darauf
klicke passiert folgendes:

Private Sub Image1_Click()
Unload BildGroß1
Load Einschränkung
Einschränkung.Show
End Sub

Ich gelange zurück zur UserForm Einschränkung, das jeweilig
alte Einschränkung.Bild ist dann auch noch geladen. Aber
wenn ich auf einen der anderen Bilder-Buttons klicke, wird
kein neues mehr geladen.
Sämtliche anderen Checkboxes und drei weitere Buttons auf
der Form funktionieren aber einwandfrei...
Gruß,
Jessica

BAlso hinter dem kleinen Bild steht:

Private Sub Bild_Click()
Einschränkung.Hide
Load BildGroß1
BildGroß1.Show
End Sub

Wobei Einschränkung die Userform ist, auf der das kleine
Bild liegt. Auf BildGroß1 liegt Image1 und wenn ich darauf
klicke passiert folgendes:

Private Sub Image1_Click()
Unload BildGroß1
Load Einschränkung
Einschränkung.Show
End Sub

Habt Ihr da eine Idee, warum meine Buttons auf der Userform
"Einschränkung" danach nicht mehr gehen... bzw. es sind nur
die Buttons für die Anzeige der kleinen Bilder (es sind 12
verschiedene die in Einschränkung.Bild geladen werden).
Sämtliche Checkboxes und drei andere Buttons auf der Form
gehen einwandfrei...
Gruß,
Jessica
Bitte helft mir!

Thomas Ramel

unread,
Nov 21, 2002, 4:16:21 AM11/21/02
to
Grüezi Jessica

Jessica Stamme schrieb:


>
> Ich habe zwei Userforms namens Einschränkung und BildGroß1.
> Auf der Userform Einschränkung liegt Einschränkung.Bild
> Dort wird durch klicken auf verschiedene Buttons jeweils
> ein Bild geladen.
> Wenn der Benutzer auf das Bild klickt,
>
> Private Sub Bild_Click()
> Einschränkung.Hide

Hier verbirgst Du 'Einschränkung'

> Load BildGroß1
> BildGroß1.Show
> End Sub
>
> Auf BildGroß1 liegt Image1 und wenn ich darauf
> klicke passiert folgendes:
>
> Private Sub Image1_Click()
> Unload BildGroß1
> Load Einschränkung

Hier lädst du 'Einschränkung, obschon si nit entladen worden ist.
Lass diese Zeile mal weg (besser mit ' auskommentieren).

> Einschränkung.Show
> End Sub

--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für Microsoft-Excel -

Jessica Stamme

unread,
Nov 21, 2002, 4:32:02 AM11/21/02
to

Hi Thomas!
Hab ich versucht... Das Problem besteht nach wie vor.
Irgendeine andere Idee?
Gruß,
Jessica


>-----Originalnachricht-----

>.
>

Thomas Ramel

unread,
Nov 21, 2002, 4:37:55 AM11/21/02
to
Grüezi Jessica

Jessica Stamme schrieb:
>

> Hab ich versucht... Das Problem besteht nach wie vor.
> Irgendeine andere Idee?

Ja ;-)

Hast Du Buttons auf der/den Userform(s)?
Wenn ja, stelle die Eigenschaft 'TakeFocusOnClick' auf FALSE.
Ebenso den Button im Tabellenblatt, wenn du die Userform mit einem solchen
aufrufst.

Jessica Stamme

unread,
Nov 21, 2002, 5:00:24 AM11/21/02
to
Geht leider auch nicht...
Ich muß meinem Tool irgendwie vorgaukeln, daß ich die Form
neu lade, ohne sie wirklich zwischendurch zu unloaden.
Gibt es nicht sowas wie eine "Refresh"-Funktion?


>-----Originalnachricht-----

>.
>

Jessica Stamme

unread,
Nov 21, 2002, 5:03:49 AM11/21/02
to
Nachtrag:
Ich würde die Userform ja auch ganz unloaden und dann
wieder laden.. das funktioniert, so hatte ich es schon.
Habe ein queryclose-Ereignis eingebaut und da fragt dann
jedes mal wenn ich auf das Bild wechseln würde der
OfficeAssistent, ob ich das Tool beenden will...

>-----Originalnachricht-----

>.
>

Thomas Ramel

unread,
Nov 21, 2002, 5:19:39 AM11/21/02
to
Grüezi Jessica

Jessica Stamme schrieb:
>

> Ich würde die Userform ja auch ganz unloaden und dann
> wieder laden.. das funktioniert, so hatte ich es schon.
> Habe ein queryclose-Ereignis eingebaut und da fragt dann
> jedes mal wenn ich auf das Bild wechseln würde der
> OfficeAssistent, ob ich das Tool beenden will...

Besteht die Möglichkeit eine abgspeckte Demo-Mappe zu erhalten?
(Direkt per Mail; nicht in die NG posten)!

Unter Umständen lohnt es sich die Userform(s) zu exportieren und in einer
neuen, leeren Mappe den Aufbau nochmals vorzunehmen. Biem vielen
'Rummachen' in einer Mappe, kann es schon mal vorkommen, dass was
'verbogen' wird, das nicht wieder 'gerade' gemacht werden kann.

stefan onken

unread,
Nov 21, 2002, 5:40:47 AM11/21/02
to
hallo ihr beiden,
nur zur Info:
ich habe mal 2 UF in XL97 mit dem Code nachgebaut und sie
laufen "leider" fehlerfrei.

Allerdings werden _Initialize-Ereignisse nicht ausgeführt.


stefan

>-----Originalnachricht-----

>.
>

Jessica Stamme

unread,
Nov 21, 2002, 6:28:56 AM11/21/02
to
Hallo auch!
Habe jetzt festgestellt, daß es offensichtlich ein
Aktualisierungsproblem des kleinen Bilds auf der ersten
Form ist. Wenn ich nämlich auf einen Button klicke und das
kleine Bild nicht aktualisiert wird, aber dann zum Aufrufen
der zweiten Form auf das kleine Bild klicke, zeigt sie die
Vergrößerung des Buttons, den ich als letztes geklickt
hatte. Kann ich die Bilder irgendwie aktualisieren?
Hinter den Buttons steckt jeweils folgender Code:

Private Sub CommandButton1_Click()
Einschränkung.Bild.Picture =
LoadPicture("L:\Projekte\Stamme\Excel-Tool\1.jpg")
BildGroß1.Image1.Picture =
LoadPicture("L:\Projekte\Stamme\Excel-Tool\1groß.jpg")
BildGroß1.Caption = "Variante 1"
End Sub

Das Problem besteht immer, wenn ich die Userform nach das
erste mal gewechselt habe. Wenn ich direkt bei BildGroß
anfange, dann funktionieren die kleinen Bilder auf
Einschränkung erstmal.

@Thomas ich kann dir leider keinen abgespeckte Version
schicken.. Ich glaub, da würde ich Schwierigkeiten
bekommen. Und ich kann sie kaum soweit neutralisieren, daß
ich keine Schwierigkeiten bekomme, wenn Du verstehst was
ich meine..

Gruß,
Jessica

Thomas Ramel

unread,
Nov 21, 2002, 7:41:07 AM11/21/02
to
Grüezi Jessica

Jessica Stamme schrieb:
>

> Habe jetzt festgestellt, daß es offensichtlich ein
> Aktualisierungsproblem des kleinen Bilds auf der ersten
> Form ist. Wenn ich nämlich auf einen Button klicke und das
> kleine Bild nicht aktualisiert wird, aber dann zum Aufrufen
> der zweiten Form auf das kleine Bild klicke, zeigt sie die
> Vergrößerung des Buttons, den ich als letztes geklickt
> hatte. Kann ich die Bilder irgendwie aktualisieren?

Die Beschreibung klingt wirlich nach einem 'TakeFocusOnClick'-Problem.
Hast Du diese Eigenschaft (ist leider per Default TRUE) auf FALSE gesetzt?

> @Thomas ich kann dir leider keinen abgespeckte Version
> schicken.. Ich glaub, da würde ich Schwierigkeiten
> bekommen. Und ich kann sie kaum soweit neutralisieren, daß
> ich keine Schwierigkeiten bekomme, wenn Du verstehst was
> ich meine..

Ja, ich verstehe gut - der Datenschutz... ;-)

stefan onken

unread,
Nov 21, 2002, 10:11:05 AM11/21/02
to
nanu, ich dachte, ich hätte es abgeschickt, scheinbar aber
wohl nicht. Also nochmal:
Ich kann es nachvollziehen. ME liegt es nicht am Focus der
CommandButtons (habe bei allen TakeFocus auf False, auch
dem im Tabllenblatt), da die nicht mehr richtig
funktionierende Aktualisierung des Image auf
Einschränkung, nachdem BildGroßI angezeigt und wieder
geschlossen wurde, auch dann nicht funktioniert, wenn
Optionbutton verwendet werden.

Anscheinend liegt es am Image-Control, denn andere
(TextBox, ListBox) werden anstandslos aktualisiert.

Folgendes hilft aber:
füge ans Ende der Codezeilen der Buttons jeweils an:

Einschränkung.Hide
Einschränkung.Show

schön ists leider nicht.

Gruß
stefan

>-----Originalnachricht-----

>.
>

Jessica Stamme

unread,
Nov 21, 2002, 2:11:38 PM11/21/02
to
Hallo Stefan und Thomas!
Erstmal noch mal vielen Dank für Eure Bemühungen.
Ich habe es jetzt mit dem Hide und Show-Befehl in jedem
Button gemacht. Hat wohl keinen Sinn, sich darüber Gedanken
zu machen, wie man es sonst hinbekommen würde. Allerdings
nervt mich, daß der Bildschirm dann beim Hide/Show einmal
kurz blinkt.. Kann man das vielleicht mit einem Wait Befehl
oder so hinbekommen, daß der User nichts von dem kleinen
Trick mitbekommt...?
Viele Grüße,
Jessica

>-----Originalnachricht-----

>.
>

Stefan Onken

unread,
Nov 21, 2002, 2:19:02 PM11/21/02
to
hallo Jessica,
evtl mit
Application.ScreenUpDating = False
hide
show
Application.ScreenUpDating = True

ciao
stefan


"Jessica Stamme" <curl...@gmx.de> schrieb im Newsbeitrag
news:e74601c29191$d1158890$8df82ecf@TK2MSFTNGXA02...

0 new messages