Excel VBA UserForm schließt sich unabsichtlich?
Hallo,
ich habe in einer UserForm eine Button
Private Sub CommandButton1_Click()
Tabelle2.Range("A1") = "1"
End Sub
Wenn ich diesen Button drücke, schließt sich auch die UserForm.
Schreibe ich etwas unter:
Tabelle2.Range("A1") = "1"
wird dieses nicht mehr ausgeführt.
Warum schließt sich die UserForm?
Zu aller Verwirrung schließt sich die UF nicht immer (wäre ja auch zu einfach...) wenn ich den Wert in A1 lösche und dann die UF öffne, den Button drücke, schließt sich die UserForm "meistens" nicht, trägt aber die "1" ein.
Wenn ich die UF wieder öffne und den Button drücke, während die "1" schon in A1 steht, schließt sich die UF jedesmal...
Öffnen tu ich die UF ebenfalls mit einem Button von einem Tabellenblatt
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Mein eigentliches Ziel:
Ich wollte lediglich die Spalte A in Tabelle2 clearen um dann aus einer ListBox die Werte in Spalte A einzutragen...nur schloss sich die UF jedesmal und teilweise wurde nicht mal Spalte A leer gemacht.
Wieso schließt sich die UserForm und wie kann ich es beheben?
2 Antworten
Hallo
Ich hoffe, ich versteh dein Problem und kann dir helfen.
Userform öffnen:
Ein neues Modul hinzufügen.
In diesem Modul dann ZB Folgendes reinschreiben:
Sub UF1_Öffnen()
UserForm1.Show
End sub
Dieses Makro weist du einem Button zu oder führst es über "Makro ausführen" manuell aus.
Die Userform sollte sich nicht automatisch schließen...
Eine Userform wird entweder mit dem X oder über einem Button geschlossen. Der Code vom Schließen-Button ist Folgender:
Unload UserForm1
Probiere das Problem zu finden, indem du den Debugger benutzt. Entweder mit F8 oder auf "Debug".
Ich seh jetzt keinen Fehler in deiner Zeile.
Tabelle2.Range("A1") = "1"
Egal, was in Zelle A1 steht, sollte mit der Zahl 1 überschrieben werden.
Versuch vl. noch eines...
Klick erneut auf den Button in deiner Userform und füge dort den gewünschten Code erneut ein. Vl. steht er einfach am falschen Platz.
Hey
Also zuerst solltest du mal den "satz" anpassen indem du etwas in A1 schreiben willst.
Besser wäre:
Sheets("Tabelle1").Range("A2").Value = deine_variable
Was mir aufgefallen ist. Du verwendest den selben Button um die Userform anzuzeigen und um den Wert einzutragen? Sind das wirklich die beiden gleichen "Knöpfe"?!?
Ansonsten solltest du einen anderes bennenen. Da dieser sonst beide Befehle ausführt und deshalb ggf auch deine Userform schließt
Es ist halt wirklich ein bug gewesen........ich hab die Excel einfach mal gespeichert, geschlossen und neu gestartet...und jetzt gehts als wäre nie was gewesen.
Nein es sind die selben Buttons, einer ist in der UF der anderen auf dem Tabellenblatt. Habe diese auch mal umbenannt aber daran liegt es nicht. Dein Code hat leider auch nicht geholfen, hatte das davor aber auch schon so...ich versuch glaube mal das ganze in einer neuen Excel zu machen...vllt ist das iein Random "ichbinexcelundwilldichnurewigaufhalten-Bug"
es war lediglich ein Bug. Nach dem Speichern und "rebooten" der Mappe, hat sich Excel dann wieder beruhigt und es ging wie es sollte.