Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1576to1580
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

Textfeld in Userform über For-Schleife befüllen

Textfeld in Userform über For-Schleife befüllen
24.08.2017 15:49:49
Nusser
Wertes Forum
Ich beiße mir an einem Problem seit geraumer Zeit die Zähne aus.
Ziel: Beim Betätigen des Weiter - Buttons soll eine von diversen Text-Boxen der Userform neu befüllt werden. Der Text steht in einer Excel-Spalte.
Grund: Ich möchte nicht 300x die Userform neu erstellen, wenn sich im Prinzip nur eine Textbox ändert.
Ansatz: Ich habe versucht, die Excel-Zellen folgendermaßen anszusprechen:

Private Sub cmdWeiter_Click()
Set Datenblatt = ThisWorkbook.Sheets("Standbeurteilung") 'Tabelle1 --> Name der Tabelle
Dim Zeile(100)
Dim r As Range
'letzte befüllte Zelle in Spalte F
lLetzteF = Cells(Rows.Count, 6).End(xlUp).Row
'von F2 bis zur letzten befüllte Zelle in Spalte F
For Each r In Range("F2:F" & lLetzteF)
Zeile(i) = r.Row
txtBeurteilungspunkt = Datenblatt.Cells(Zeile(i), 6).Value
Next
End Sub

Problem: Wenn der Weiter-Button betätigt wird, ändert sich zwar das Textfeld, aber im Textfeld steht dann nicht der nächste Eintrag, sondern der letzte Eintrag der Liste der Excel-Tabelle.
Ich wäre über jeden Tipp äußerst dankbar.
Viele Grüße
Michaela

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfeld in Userform über For-Schleife befüllen
24.08.2017 16:17:03
ChrisL
Hi Michaela
Eine For-Next-Schleife rattert alle 300 Zeilen ohne halt durch, darum brauchst du keine Schleife:
Public lngZeile As Long

Private Sub cmdWeiter_Click()
Dim letzteZeile As Long
With Worksheets("Standbeurteilung")
letzteZeile = .Cells(Rows.Count, 6).End(xlUp).Row
If lngZeile = letzteZeile Then
lngZeile = 2
Else
lngZeile = lngZeile + 1
End If
TextBox1 = .Cells(lngZeile, 6)
End With
End Sub
Private Sub UserForm_Initialize()
TextBox1 = Worksheets("Standbeurteilung").Range("F2")
lngZeile = 2
End Sub

cu
Chris
Anzeige
Weiter - Button
25.08.2017 09:48:57
Nusser
Servus Chris
Vielen Dank für deine Antwort.
Leider funktioniert der Code noch nicht wie gewünscht. Beim Drücken des "Weiter-Button" wird im Textfeld nicht der nächste Eintrag der Excel-Liste angezeigt, sonder der Eintrag der ersten Zeile. Bei nochmaliger Betätigung der Weiter-Taste passiert dann gar nichts mehr.
Wo ist hier wohl der Fehler?
Hoffe, Du kannst mir nochmals weiterhelfen.
VG
AW: Weiter - Button
25.08.2017 10:33:04
ChrisL
Hi
Zahl 6 steht für die 6. Spalte (F).
Ansonsten bitte eine kleine Beispieldatei hochladen und ich schau es mir an.
cu
Chris

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige