Nochmal userform

Moin zusammen,

muss ich zwingend die Userform „manuell“ einmal erstellen, oder kannich die auch beim Öffnen der Arbeitsmappe automatisch erstellen lassen.
Den Befehl UserForm.add kann man wohl so nicht verwenden.
Im Prinzip würde es mir reichen, wenn eine Userform aufgeht die
200 Breit und 75 hoch ist.
Ich denke die „Schaltflächen“ darin bekomme ich dann hin.
Danke und Gruß

Slam

Hi Slam,

muss ich zwingend die Userform „manuell“ einmal erstellen,
oder kannich die auch beim Öffnen der Arbeitsmappe automatisch
erstellen lassen.

nein, ja. :smile:

Den Befehl UserForm.add kann man wohl so nicht verwenden.
Im Prinzip würde es mir reichen, wenn eine Userform aufgeht
die
200 Breit und 75 hoch ist.

Option Explicit

Private Sub Workbook_Open()
Dim UF
Set UF = ThisWorkbook.VBProject.VBComponents.Add(3)
With UF
.Name = „meineUF“
.Properties(„Width“) = 200
.Properties(„Height“) = 75
End With
End Sub

Ich denke die „Schaltflächen“ darin bekomme ich dann hin.

Schauen wir mal, zur Not kannst du ja gerne nachfragen, aber je zäher du es erst selbst probierst desto mehr lernst du.

Gruß
Reinhard

Hi Reinhard,

soweit so gut, aber bei deinem Beispiel hängt sich das Ganze immer in der Zeile .name „meineUF“ auf.

Gruß
slam

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

soweit so gut, aber bei deinem Beispiel hängt sich das Ganze
immer in der Zeile .name „meineUF“ auf.

Hallo Slam,

ich habe es getestet mit meinem XL2000, Code ist okay.
Probiere ihn mal in einer neuen leeren Mappe aus.

Wahrscheinlich ist bei dir das passiert was mir bim Tsten auch passierte, Erkläung dafür habe ich noch keine.

Beim ersten mal läuft der Code problemlos, die UF wird erstellt.
Löscht man sie manuell, und läßt den Code nochmals laufen, dann kommt der Fehler den du wahrscheinlich meinst.
SCheinbar merkt sich Vba irgendwie irgendwo den Namen „meineUF“, d.h. für Vba ist die UF dieses Namens noch vorhanden obwohl sie gelöscht/entfernt wurde.

Nimm dann halt einen neuen Namen, „meineUF2“ o.ä.

Dann klappt es wieder.

Gruß
Reinhard

Moin nochmal,

das Programm muss sich das merken, und da es „meineUF“ schon hat macht es einfach UserFormN auf N(1…). Meldet aber trotzdem den Fehler.

Wenn das System das immer macht wenn man die Datei aufmacht, dann muss man doch mal wieder händisch die USerforms säubern, bzw das System hängt ishc eventuell auf. Ich werde das morgen mal versuchen und dann sehe ich weiter.

Gruß

slam

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Remoin,

das Programm muss sich das merken, und da es „meineUF“ schon
hat macht es einfach UserFormN auf N(1…). Meldet aber
trotzdem den Fehler.

? Nochmal, wenn du den Code in einer neuen leeren Mappe ausführt funktioniert er ja.

Wenn man dann manuell die UF löscht und den Code nochmals ausführt klappt er nicht und es kommt zu einer Fehlermeldung.

Sind wir uns soweit einig?

Wie man jetzt Excel/Vba beibringt so einen Blödsinn zu unterlassen, da bin ich grad dran und gabe schon andernorts nachgefragt weil ich keinen Plan habe wo sich Excel benutzte namen abspeichert, mal schauen…

Wenn das System das immer macht wenn man die Datei aufmacht,
dann muss man doch mal wieder händisch die USerforms säubern,
bzw das System hängt ishc eventuell auf. Ich werde das morgen
mal versuchen und dann sehe ich weiter.

Das ist ein völlig anderes Problem als „oben“.
Ist kein Akt beim Mappenstart nachzuprüfen ob es eine UF namens „meineUF“ schon gibt oder nicht, dementsprechend sie erzeugen oder nicht.

Gruß
Reinhard