Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textboxen in Schleife ?

Textboxen in Schleife ?
11.05.2020 10:19:34
walter
Guten Morgen,
ich habe eine Userform mit 50 Textboxen die alle von der Sheet
Spalte E von Zeile 5 bis 55 gefüllt werden.
Nun möchte ich gerne eine Schleife haben die die Textboxen nach der Eingabe
automatisch in die Zellen reinsetzt bzw. füllt.
Oder muss ich 50 Makros erstellen ?
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ActiveSheet.Range("E5") = TextBox1
TextBox1 = ActiveSheet.Range("E5").Value
End Sub

Warum springt der Courser nach Eingabe in die übernächste TB.
Wenn ich in die Berabeitung der UF gehe ist die Reihefolge nacheinander.
gruß
walter b

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textboxen in Schleife ?
11.05.2020 10:27:20
walter
Hallo zusammen,
die Zeile hat sich erledigt:
Warum springt der Courser nach Eingabe in die übernächste TB.
gruß
walter b
AW: Textboxen in Schleife ?
11.05.2020 10:39:19
Martin
Hallo walter,
das nachfolgende Makro überträgt die Daten nach Verlassen der TextBox50:
Private Sub TextBox50_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
For i = 1 To 50
Cells(i, 5) = Controls("TextBox" & i + 4)
Next
End Sub
Hinweis: Bei Zeile 5 bis 55 müsste es sich theoretisch um 51 TextBoxen handeln.
Viele Grüße
Martin
Hallo Martin aber...
11.05.2020 11:19:06
walter
Hallo Martin,
erstens Du hast Recht es sind nur 49 TB !
Es sollte, wenn möglich, bei jeder Eingabe einer Zahl in jeder der Textboxen von
1 bis 49 die Zahl in die entsprechende Zelle direkt eingefügt werden und nicht
wenn ich erst bei der TB 49 bin.
gruß
walter b
Anzeige
AW: Textboxen in Schleife ?
11.05.2020 11:32:11
Daniel
Hi
geht ohne Makro
schreibe in die Eigenschaft "ControlSource" jeder TextBox die Adresse der Zelle, mit der diese TextBox verknüpft ist.
Am besten mit Angaben des Tabellenblatts, Hochkommas nicht vergessen falls der Tabellenblattname Sonderzeichen wie das Leerzeichen enthält: 'Tabelle1'!E5
der Eintrag in die Tabelle erfolgt dann sofort nach verlassen der Textbox
Gruß Daniel
Daniel und wie bei der ...
11.05.2020 11:39:08
walter
Hallo Daniel,
gute Idee, und wie bei der aktiven Sheet, da ich viele Sheets habe, muss immer
die aktive Sheet angesprochen werden.
gruß
walter b
AW: Daniel und wie bei der ...
11.05.2020 11:42:22
walter
Hallo Daniel,
und wenn möglich die Schrift Groß
also immer als Großbuchstaben darstellen, z.b. U oder F ...
gruß
walter b
Anzeige
AW: Daniel und wie bei der ...
11.05.2020 11:47:25
Daniel
wann wechselst du denn das Sheet, bzw was ist der genaue ablauf:
a) Sheet wechseln - Userform starten
b) Userform starten - Sheet wechseln
aber wahrscheinlich solltest du dich mal mit Klassenprogrammierung beschäftigen.
ist für das was du vorhast, wahrscheinlich der beste Weg um nicht für jede TextBox einzeln den jeweiligen Code schreiben zu müssen.
Ist aber von "VBA nur mit Recorder" zu "Klassenprogrammierung" schon ein großer Schritt.
Gruß Daniel
AW: Daniel und wie bei der ...
11.05.2020 11:46:36
Martin
Hallo Walter,
du kannst den "ControlSource" auch per Schleife zuweisen:
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 49
Controls("Textbox" & i).ControlSource = "A" & i + 4
Next
End Sub
Viele Grüße
Martin
Anzeige
Herzlichen Dank an Martin u. Daniel -)
11.05.2020 12:15:56
walter
Hallo Martin und Daniel,
DANKE für die große Hilfe.
Ich habe jetzt mal ControlSource das Makro von Martin eingebaut
und die Großschreibung der Spalte mit Private Sub Worksheet_Change(ByVal Target As Range)
gefunden und eingesetzt, funktioniert.
Die Idee von Daniel mit ControlSource zuweisen ist super !
Danke
gruß
walter b

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige