Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1660to1664
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

User Form füllen

User Form füllen
13.12.2018 14:17:21
Gunter
Hallo Zusammen
Ich habe ein UF die mit dem Inhalt einer Zeile von Spalte J bis BT gefüllt wird.
Dazu verwende ich diesen Code:
UserForm34.TextBox1.MultiLine = True
x = worksheetFunction.Transpose(WorksheetFunction.Transpose(Worksheets("Tabelle1").Range("J8:BT8")))
UserForm34.TextBox1.Value = Join(x, vbLf)

Damit wird der Text je Spalte in eine Zeile in der UF eingetragen. Soweit so gut. Jetzt wäre es noch recht hilfreich, wenn jede Zeile in der UF nummeriert werden würde. Meine Frage ist das prinzipiell möglich und wenn ja, wie?
Für zweckdienliche Hinweise herzlichen Dank.
Gruss
Gunter

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: User Form füllen
13.12.2018 14:41:28
Maik
Hallo Gunter,
x=cstr(iZähler) & ". " & worksheetFunction.Transp...
Nach jedem Eintrag musst du den iZähler hoch zählen.
Maik
AW: User Form füllen
13.12.2018 14:54:39
Gunter
Hallo Maik
Ich hab das jetzt so angepasst:

UserForm34.TextBox1.MultiLine = True
For kZähler = 1 To 20
x = CStr(kZähler) & ". " & WorksheetFunction.Transpose(WorksheetFunction.Transpose( _
Worksheets("Tabelle1").Range("J8:BT8")))
UserForm34.TextBox1.Value = Join(x, vbLf)
UserForm34.Show vbModeless
k = k + 1
Next kZähler
allerdings gibts da die Fehlermeldung "Typen unverträglich"
Gruss
Gunter
Anzeige
AW: User Form füllen
13.12.2018 15:14:02
Matthias
Moin!
Hatte eure Beiträge zu spät gesehen.
Würde das mit dem Zähler vor das Join setzen und vor dem Transpose rausnehmen. Einen Text mit dem Array / Zellbereich vom Transpose kann man nicht mit einem Text verketten. DAher die Fehlermeldung.
VG
AW: User Form füllen
13.12.2018 15:09:58
Matthias
Moin!
Was bzw. wie wilst du die Nummerierung haben? Und woher kommen die Nummern?
Das einfachste wäre sonst, in die Zelle I8 deine Nummer zu schreiben (ggf. alten Wert zwischenspeichern und später wieder eintragen), dein Makro dann auf die Zelle erweitern. Dann würde deine Textbox mit der Nummer beginnen.
VG
AW: User Form füllen
13.12.2018 15:41:43
Gunter
Hallo Matthias
Cool wäre es wenn ich zum Beispiel festlegen könnte, dass ab der x.ten Zeile aufsteigend nummeriert wird. Derzeit sieht der Textboxinhalt etwa so aus:
Userbild
Nach Möglichkeit sollte davor eine fortlaufende Nummerierung stehen.
Gruss
Gunter
Anzeige
AW: User Form füllen
13.12.2018 15:50:20
Gunter
Wenn der Zähler vor dem Join steht dann nummeriert er nur die erste Zeile durch.
UserForm34.TextBox1.MultiLine = True
For kZähler = 1 To 20
x = WorksheetFunction.Transpose(WorksheetFunction.Transpose(Worksheets("Tabelle1").Range("J8: _
BT8")))
UserForm34.TextBox1.Value = CStr(kZähler) & ". " & Join(x, vbLf)
UserForm34.Show vbModeless
k = k + 1
Next kZähler
Die Fehlermeldung kommt nicht mehr.
AW: User Form füllen
13.12.2018 16:56:58
Gunter
Jemand noch ne Idee?
AW: User Form füllen
13.12.2018 17:11:47
Matthias
Moin!
Nicht so ungeduldig - es müssen ja auch noch Hausaufgaben überprüft werden. :-)
Also hier mal eine Variante.
UserForm34.TextBox1.MultiLine = True
x = WorksheetFunction.Transpose(WorksheetFunction.Transpose(Worksheets("Tabelle1").Range("J8: _
BT8")))
For i = 1 To UBound(x)
temp = temp & i & "." & x(i) & vbLf
Next
temp = Left(temp, Len(temp) - 1)
UserForm34.TextBox1.Value = temp

Wobei ich da bei deinem Vorhaben das Ganze eher in eine Listbox packen würde. Da gibt es dann gleich auch noch scrollbalken dazu. Würde m.E. besser aussehen.
VG
Anzeige
AW: User Form füllen
13.12.2018 20:58:21
Gunter
Hallo Matthias
Sorry, ich wollte nicht drängeln. Komme leider erst morgen dazu deinen Code zu testen.
Gruss
Gunter
AW: User Form füllen
13.12.2018 21:22:26
Matthias
Moin!
Kein Problem. :-)
Wobei man bei der Variante theoretisch das Transpose auch weglassen und gleich durch die Range gehen könnte. Müßte man nur die for Schleife ein wenig ändern.
VG
AW: User Form füllen
14.12.2018 11:55:58
Gunter
Hallo Matthias
In der ersten Näherung sieht das schon mal super aus. Kann man das auch so machen, dass die Nummerierung erst ab der x-ten Zeile (Beispiel 21.te) beginnt, aber die Zeilen davor auch mit dargestellt werden, halt nur ohne Nummerieung?
Danke nochmal für deine Hilfe!
Gruss
Gunter
Anzeige
AW: User Form füllen
14.12.2018 12:14:24
Matthias
Moin!
Na klar. Hier mal als Beispiel (das mit dem Transpose habe ich mal rausgenommen - kostet nur Rechenzeit :-)
startzeile = 21
UserForm34.TextBox1.MultiLine = True
x = Worksheets("Tabelle1").Range("J8:BT8")
For i = 1 To UBound(x, 2)
If i 

Musst halt nur schauen wegen der Formatiereung. Evtl. bei den Zeilen ohne Zahl ein Bzw2. Leerzeichen einfügen. Da wäre aber wie gesagt ein Listbox schöner, weil die Spalten gleich ausgerichtet sind.
VG
AW: User Form füllen
14.12.2018 12:26:20
Gunter
Hallo Matthias
Super das funktioniert! Die Form ist nicht so wichtig ich brauche nur eine Übersicht, ob bei verschiedenen Listen die gleiche Anzahl an Keys vorhanden ist oder nicht.
Danke und Gruss
Gunter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige