Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Code verkürzen
#11
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.
Antworten Top
#12
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?
Antworten Top
#13
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
Antworten Top
#14
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
Antworten Top
#15
(22.01.2019, 11: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.
Antworten Top
#16
(22.01.2019, 12: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.
Antworten Top
#17
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
Antworten Top
#18
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
Antworten Top
#19
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?
Antworten Top
#20
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste