Registriert seit: 24.02.2017
Version(en): 365; (2013)
Das ist aktuell ohne die Userform das Problem.
Daher lege ich über diese unübersichtlichen Eingabeblätter die Userform, die wirklich nur das anzeigt was auch eingetragen werden soll.
Das sollte eine deutliche Vereinfachung sein.
Zudem gibt es zu den Feldern überall ControlTip Texte, die alles erläutern.
Registriert seit: 24.02.2017
Version(en): 365; (2013)
Kurze Frage zu meinem Code:
Ich versuche alle TextBoxen von TextBox148 bis TextBox208 Initial auf Visible = False zu setzen.
Code:
Private Sub TextBoxenAusblenden()
Dim i As Integer
For i = 148 To 208
meinFormular.Controls("TextBox" & i).Visible = False
Next
End Sub
Er erzählt mir aber immer, dass das angegebene Objekt nicht gefunden werden konnte.
Egal ob mit Me oder mit meinFormular.
Wo liegt der Fehler?
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Max,
ich denke mal hier: meinFormular.Controls("TextBox" & i).Visible = False, nimm mal den roten Teil raus.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
Magst du vielleicht erst mal Antwort geben, ob dir mein Code gefallen hat (oder auch der von snb), bevor du die nächste Frage stellst?
Schöne Grüße
Berni
Registriert seit: 24.02.2017
Version(en): 365; (2013)
(22.01.2019, 12:58)Klaus-Dieter schrieb: Hallo Max,
ich denke mal hier: meinFormular.Controls("TextBox" & i).Visible = False, nimm mal den roten Teil raus.
Das ändert leider nichts.
Im Debugger springt er in die For-Schleife und durchläuft diese sehr oft (nicht genau gezählt), aber ich schätze bei der letzten Wiederholung wirft er dann einen Laufzeitfehler '-2147024809 (80070057)'
Das angegebene Objekt konnte nicht gefunden werden.
Registriert seit: 24.02.2017
Version(en): 365; (2013)
(22.01.2019, 13:00)MisterBurns schrieb: Magst du vielleicht erst mal Antwort geben, ob dir mein Code gefallen hat (oder auch der von snb), bevor du die nächste Frage stellst?
Habe es ausprobiert - aber dort tritt der identische "Objekt nicht gefunden" Fehler auf wie bei meiner Methode.
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Max,
bitte verzichte darauf, die vorangegangenen Antworten zu zitieren.
Zu deiner Frage: vielleicht gibt es die Textbox208 gar nicht?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
22.01.2019, 13:21
(Dieser Beitrag wurde zuletzt bearbeitet: 22.01.2019, 13:22 von MisterBurns.)
Zitat:bitte verzichte darauf, die vorangegangenen Antworten zu zitieren.
Ok, mach ich! :05:
Dann lade doch mal eine Beispielmappe mit identen Vorgaben wie im Original hoch, sonst raten wir hier noch 20 Posts lang.
Schöne Grüße
Berni
Registriert seit: 24.02.2017
Version(en): 365; (2013)
22.01.2019, 14:19
(Dieser Beitrag wurde zuletzt bearbeitet: 22.01.2019, 14:20 von StrammerMax.)
Das Teil hat mittlerweile um die 1000 Zeilen Code. Ich denke nicht, dass nur der explizite Teil den Fehler auslöst.
Der Code sollte passen - und die TextBoxen existieren alle.
Zudem tritt der Fehler aktuell bei jeder Methode auf die ich neu hinzufüge.
Code:
Private Sub TextBoxenAusblenden()
Dim i As Integer
For i = 148 To 208
Controls("TextBox" & i).Visible = False
Next
End Sub
Private Sub UserForm_Initialize()
TextBoxenAusblenden
End Sub
Ich sehe nicht, wieso das nicht funktionieren sollte.
Wirft laut Debugger aber am Ende der For-Schleife den Laufzeitfehler.
Sobald ich diesen Teil auskommentiere läuft wieder alles problemlos.
Was mir gerade als Problem einfällt... die Reiter für die Eingabe der Alternativen sind Initial alle ausgeblendet und werden erst während der Laufzeit eingeblendet.
Man kann soweit ich weiß nicht auf ausgeblendeten Objekten operieren im Initialize - stimmt das?
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Max,
für mich deutet das darauf hin, dass es die Textbox208 nicht gibt. 1000 Zeilen Quelltext sind allerdings auch eine Hausnummer. Habe schon viel mit VBA gemacht, auch komplexe Anwendungen, aber so etwas habe ich noch nicht zusammen bekommen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden