HERBERS Excel-Forum - das Archiv

Thema: Textboxen nach Zahl in Textbox einblenden

Textboxen nach Zahl in Textbox einblenden
Helmut
Hallo liebes Forum und liebe Mitglieder
Ich habe folgendes anliegen, ich möchte in einer Userform Textboxen einblenden wenn eine Zahl in Textbox1 eingetragen wird.
z.B. Textbox1 bekommt eine zahl zugewiesen aus einer Zelle von einer Tabelle diese Zahl oder Variable soll mir dann endsprechende Anzahl Textboxen auf der Userform einblenden/ausblenden. Begrenzt soll soll das ganze auf max 50 Textboxen begrenzt werden. Im Anschluss sollen die werte in den Textboxen2 bis X zusammen addiert werden und durch die Anzahl der Textboxen ab Textbox2 bis Textbox X geteilt werden.
Leider ist VBA nicht so mein ding und ich hoffe ihr könnt mir dabei behilflich sein .
AW: Textboxen nach Zahl in Textbox einblenden
ralf_b
anm besten du erstellst die Userform und lädst die Datei hoch.
eine theoretische Besprechung bei deinen Kenntnissen dürfte hier nicht hilfreich sein.
AW: Textboxen nach Zahl in Textbox einblenden
Helmut
Danke Ralf, und recht hast Du
Ich musste einfach diesen Gedanken zu Papier bringen bevor das alter einen wieder Streiche spielt.
Ich werde es in Zukunft berücksichtigen.
AW: Textboxen nach Zahl in Textbox einblenden
Alwin Weisangler
Hallo Helmut,

mal ein Beispiel:
https://www.herber.de/bbs/user/170812.xlsm

Die Maße, Anzahl pro Zeile bzw. Abstände kannst du dir anpassen.
Hier braucht es auch noch keine Verarbeitung via Klasse.

Gruß Uwe
AW: Textboxen nach Zahl in Textbox einblenden
Helmut
Danke Alwin für deine schnelle Antwort und deine Bemühungen das bringt schon ein stück weiter.
AW: Textboxen nach Zahl in Textbox einblenden
Alwin Weisangler
Hallo,

ich hab mal meinen Vorschlag vervollständigt.
https://www.herber.de/bbs/user/170835.xlsm

Gruß Uwe
AW: Textboxen nach Zahl in Textbox einblenden
daniel
Hi
1. erstelle die 50 Textboxen von Hand. Benenne sie Textbox1 bis Textbox50
verknüpfe die Textboxen mit einer Ausgabezelle, in dem du die Zelladresse in die Eigenschaft "ControlSource" der Textbox schreibst => Tabelle1!A1:A50
achte darauf, dass die Zeilennummer mit der Textboxnummer korrespondiert.
2. die Anzahl schreibst du jetzt in die Zelle B1 beispielsweise
3. deinen Mittelwert berechnest du in Zelle C1 mit der Formel: =Mittelwert(A1:Index(A:A;C1)
4. verknüpfe die Textbox für die Anzahl mit der Zelle B1
5. Erstelle eine Listbox und vernküpfe diese über die Eigenschaft RowSource mit der Zelle mit der Berechnungsformel. Die Listbox ist hier vorzuziehen, da sie das Formelergebnis zwar anzeigt, es aber nicht möglich ist, die Formel zu überschreiben (was bei der Textbox möglich wäre)
6. Schreibe für das Change-Event der Textbox mit der Anzahl folgenden Code:

for i = 1 to 50

me.Controls("Textbox" & i).Visible = (i <= Clng(TextboxAnzahl.Value))
Next


damit kannst du die Aufgabe mit etwas mehr einmaligen Aufwand dafür aber minimalen Code lösen.
dadurch, dass du alle benötigten Textboxen manuell erstellst, kannst du diese auch so anordnen, wie es dir am besten passt.

Gruß Daniel
AW: Textboxen nach Zahl in Textbox einblenden
Helmut
Danke Daniel für deine überaus gut erklärten Weg zum Ziel, es schon so wie du sagst etwas auswendig, dafür aber für einen Laien sehr verständlich.
Hier an dieser >Tabelle1!A1:A50 da hat er mir einen Fehler raus geschmissen ich habe dann jede Textbox ihren eigenen Bezug gegeben >Tabelle1!A1 und da ging es.