Alles kapiert! In meinem Fall möchte ich tatsächlich gerne in
den Tabellenblättern arbeiten können und die Userform geöffnet
lassen.
Also lautet mein Aufruf jetzt „UserForm1.Show vbModeless“ bzw.
nach Deiner Empfehlung „UF.Show vbModeless“
Hallo Frank,
Vbaler sind schreibfaule Säcke Wenn die also z.B. wegen Option Explicit anfangs sehr bewußt erhöhten Schreibaufwand auf sich nehmen so hat das Gründe.
Du mußt dabei an längere Codes denken und keine 10-Zeiler.
So, dann hast du eine Variable „Letzte“ im Code.
Und (der lange ) Code klappt und klappt nicht, du suchst dich blöde bis du nach langer Zeit, 2 Stunden ist da kein Problem, den Fehler findest weil du irgendwo in einer Codezeile verstckt „Letze“ stehen hast.
Sowas verhindert Option Explicit zuverlässig.
Jetzt zu
Userform1.show
Userform1.show
und
Userform1.show 1
und
Userform1.show vbmodal
ist gleichwertig.
Genauso wie
Userform1.show 0
und
Userform1.show vbmodeless
Startest du z.B. eine UF durch F5 im Modul der UF so ist das immer eine „gebundene“ Userform. Also Userform1.show, Userform1.show 1, Userform1.show vbmodal
Konkrete Folgen des Unterschiedes wie man eine UF startet ist z.B. ob die User während die UF angezeigt wird in ihren Tabellen noch weiterarbeiten können oder nicht.
Bei 0 können sie, bei 1 muß erst die UF weg bevor sie weiterarbeiten können.
Manchmal ist das Eine erwünscht, manchmal das Andere.
Zurück zum Schreibfaulen.
Userform1.show vbmodeless
siehste vielleicht in lehrbüchern oder sonstigem Mist.
In der praxis steht da
Userform1.show 0
oder
Userform1.show 1
Denn so Basics weiß jeder Vbakundige auswendig, deshalb steht da auch bei z.B. SVerweis in Excel als vierter Paramter kein Wahr oder falsch.
Da steht 0,1, nix)
Denn das kennt auch jeder.
Das betrifft aber NUR SEHR bekannte Funktionen.
Für ALLES ANDERE gilt, es so zu schreiben
Userform1.show vbmodeless
oder
Userform1.show vbmodal
Das hilft anderen deinen Code flüssig zu lesen und auch dir wenn du ihn nach 2 Wochen wieder mal siehst.
Dann hast du bestimmt vergessen was denn genau sortiert wird nach welchen Regeln bei sowas (Pseudocode):
„irgendwas“.Sort(0,3,0,1,2,0)
Just my 2 Cents
PS: Du hast du doch gefragt wie ich Profi wurde? Erstens bin ich keiner denn ich verkehre noch in einem anderen Forum und daher weiß ich genau wo der Hammer hängt
Mein Wissen habe ich durch Mitlesen in Foren. Anfangs mehr als Frager, dann versucht die gebotenen Lösungen zu verstehen in Zusammenarbeit mit F1.
Zug um Zug (eher kleine Tippselschritte) wurde ich besser und habe dann probiert andere Anfragen die dort auftauchten zu lösen.
Ging sehr oft schief aber ich las die Antworten anderer und versuchte die zu verstehen und umzusetzen.
Dieser „learning by doing“ Weg ist hart und anfangs nicht durch Fortschritte geprägt aber dann…
Angenommen, ein Kumpel von dir hat das gleiche Wissen über Excel und Excel-Vba wie du.
Er kauft sich Bücher, macht Kurse ein jahr lang, du machst es o wie ich.
Im ersten jahr ist er dir klar über. Kann schon dolle Sachen.
Sein Problem ist, er kann nur die. Du kannst schon viel mehr aus allen möglichen Gebieten bei Excelanfragen.
Und je länger das läuft umso chancenloser wird er dir gegenüber.
Gruß
Reinhard
Gruß
Reinhard