PromiseYou Geschrieben 12. November 2010 Teilen Geschrieben 12. November 2010 Wie ich mir schon gedacht habe ... alles halb so wild es läuft wie folgt: Private Sub Workbook_Open() '##################################### '##################################### '### If the cell B9 is not filled, ### '### the UserForm1 will be shown. ### '##################################### '##################################### UserForm1.Show 'If Sheets("Tabell1").Cells(9, 2) = "" Then ' UserForm1.Show ' Else ' End 'End If End Sub und in Private Sub UserForm_initialize() If Sheets("Tabelle1").Cells(9, 2) = "" Then UserForm1.Show Else Unload UserForm1 End If '########################## '########################## '### Filling the fields ### '########################## '########################## nach diesen Änderungen ging es bei mir sofort, und es ist genau wie ich beschrieben habe. im Woorkbook_open NUR das show ohne Bedingungen erst dann im Form weiter abfragen ... mit dem unload kannst dann auch wieder das Form beenden (cmdEnd) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Darth Sidious Geschrieben 12. November 2010 Autor Teilen Geschrieben 12. November 2010 Um das reine Anzeigen geht es mir nicht. Ich möchte dass die Daten aus dem Arbeitsblatt in das Formular geladen werden sobald das Formular geöffnet wird (egal ob das Formular über ein Button aufgerufen wird, oder über einen Command Button). Wenn ich den gewünschten Code nach dem UserForm1.Show bringe z.B. im Workbook Open, dann lädt er mir trotzdem nicht die Daten in das Formular . Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PromiseYou Geschrieben 13. November 2010 Teilen Geschrieben 13. November 2010 also nochmal im workbook_open wird das Formular in den Speicher geladen und die ablaufsteuerung an dieses übergeben PUNKT hier wird nix gefüllt entschieden oder sonst was ... sondern nur der aufruf ! nun sind wir beim Formular das beginnt mit dem initialize (da sind wir uns ja auch einig) also lege ich dann doch hier fest, ob das formular gezeigt wird - wenn es gezeigt wird, welche schalter müssen sichtbar sein - welche textboxen müssen wie vorgefüllt werden - .... - .... und die voraussetzungen wie das formular reagieren soll schaffe ich ebenfalls hier. so kann ich nun hier sagen: schau in zelle b9, steht da was, dann übertrage die tabelle hier ins form steht da nix, dann belege alles mit default aber wenn ich das hier grad alles so lese, denke ich eher, du hast nen allgemeines problem mit dem verständnis bei der programmierung und VBA. in VBA (VB) nimmt man teils andere wege, als man es in zB in C++ lösen würde Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Darth Sidious Geschrieben 13. November 2010 Autor Teilen Geschrieben 13. November 2010 uff, Ich hab den Code jetzt mal genau so wie oben Beschrieben eingefügt. Und jetzt bekomme ich ein Laufzeitfehler 9 bei "UserForm1.Show" Und im Initialize Event kann man keine Controll funktion auf die noch nicht fertig geladene UserForm1 ausüben da diese noch nicht geladen ist. Und woanders kann ich den Code eigentlich nicht reinpacken da sonst nicht das Befüllen nicht stattfindet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PromiseYou Geschrieben 13. November 2010 Teilen Geschrieben 13. November 2010 ne sorry ... aber das ist mir alles was zu schwammig :/ in dem was ich bekomme hab steht drin, das form soll auftauchen wenn in B9 nix drin ist .. dafür habe ich eine lauffähige version geschickt (also den grundcode) und ich möchte wetten, dass ich dein problem gelöst bekomme, aber mit diesen angaben ist es nicht möglich und wie in einem beitrag schon vorher gesagt, ich glaube schon dass du programmieren kannst, jedoch hast du scheinbar noch nicht viel mit VB bzw VBA gearbeitet. sämtliche anpassungen an ein einem formular können nur zur laufzeit des formulars durchgeführt werden man kann jedoch ein formular zur laufzeit als object erstellen, und dieses dann zur laufzeit erst gestalten (also auch label, schalter und boxen hinzufügen), hierzu empfehle ich dir jedoch entsprechende dokumentionen Wie ich mir schon gedacht habe ... alles halb so wild es läuft wie folgt: Code: Private Sub Workbook_Open() '##################################### '##################################### '### If the cell B9 is not filled, ### '### the UserForm1 will be shown. ### '##################################### '##################################### UserForm1.Show 'If Sheets("Tabell1").Cells(9, 2) = "" Then ' UserForm1.Show ' Else ' End 'End If End Sub und in Code: Private Sub UserForm_initialize() If Sheets("Tabelle1").Cells(9, 2) = "" Then UserForm1.Show Else Unload UserForm1 End If '########################## '########################## '### Filling the fields ### '########################## '########################## nach diesen Änderungen ging es bei mir sofort, und es ist genau wie ich beschrieben habe. und hier war nicht viel zu schreiben ... im open hab ich lediglich ' für REM gesetzt, und das geremte habe ich in das initialize verschoben und leicht angepasst ... also wenig wirklich neu zu schreiben lediglich "Tabelle1" habe ich statt des orignaltabellenblatts genommen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.