Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
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
@Daniel - ListBox Item an label Array
04.05.2022 14:33:14
Antonio
Hallo Daniel,
dein Vorschlag aus dem alten Beitrag hat mir sehr gehofen:

Dann brauchst du eine Schleife über alle Elemente der Listbox:
For z = 0 to Listbox2.ListCount - 1
Das i und j für die Zeilen- und Spaltennummer berechnest du dann nach diesem Schema:
Zeile: i = Int(z / Anzahl_Spalten)
Spalte: j = z Mod Anzahl_Spalten
Wobei du hier die Zeilen- und Spaltennummer beginnend mit 0 bekommst und nicht mit 1.
Das musst du bei der Berechnung der Koordinaten berücksichtigen.
Entscheiden war der "Mod Anzahl_Spalten"
Hatte mir gute Resultate geliefert, aber war immer noch nicht ganz OK!
Der letzte Satz:

Wobei du hier die Zeilen- und Spaltennummer beginnend mit 0 bekommst und nicht mit 1.
Das musst du bei der Berechnung der Koordinaten berücksichtigen.
hat mich Kopfweh bereitet, alles was ich berechnet hatte für die Caption war immer Gelb, Fehler "Typen Konflikt".
Heute habe mich nochmal ans Werk gemacht und alles nochmal durchgerechnet, hier meine Lösung für den Forum:

Dim Z As Integer
For Z = 0 To ListBox7.ListCount - 1
Zeile: i = Int(Z / 4)
Spalte: j = Z Mod 4
Set lb = MultiPage1.Pages(1).Controls.Add("Forms.CommandButton.1", "lb")
With lb
.Top = (i * 50) + 25
.Height = 50
.Width = 200
.Left = (j * 200) + 12
.Font.Size = 14
.Font.Name = "Bahnschrift Condensed"
.BackColor = RGB(153, 204, 255)
.Caption = ListBox7.List(i * 4 + j)
End With
Next
und das war die entscheidende Lösung:

(i * 4 + j)
Ich danke dir sehr für deine Unterstützung,
Ich bedanke mich auch an alle die mitgewirkt haben.
DANKE
LG Antonio

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: @Daniel - ListBox Item an label Array
04.05.2022 14:38:47
Daniel
schön das ich helfen konnte.
aber i * 4 + j müsste eigentlich gleich Z sein.
Gruß Daniel
AW: @Daniel - ListBox Item an label Array
04.05.2022 15:04:30
Antonio
Zeile: i = Int(Z / 4)
ist eigentlich durch 4 und hier war der Haken
die Caption wiederholten sich alle 4 label
und ich verstande nicht warum ( /4)
dann habe die Lösung gehabt.
j sind nur die Spalte die durch Mod 4 richtig berechnet werden
LG Antonio
AW: @Daniel - ListBox Item an label Array
04.05.2022 15:25:39
snb
Oder:
For j = 0 To ListBox7.ListCount - 1
With MultiPage1.Pages(1).Controls.Add("Forms.CommandButton.1", "lb")
.Width = 200
.Height = 50
.Font.Size = 14
.Font.Name = "Bahnschrift Condensed"
.BackColor = RGB(153, 204, 255)
.Top = 50 * j \ 4 + 25
.Left = 200 * (j Mod 4) + 12
.Caption = ListBox7.List(j)
End With
Next
Anzeige
AW: @Daniel - ListBox Item an label Array
05.05.2022 07:58:38
Antonio
Hallo snb,
ich verstehe deine Hartnäckigkeit,
ich hatte dein Code auch ausprobiert und ständig geändert um auf eine lösung zu kommen.
Leider nicht.
in dem Code von gestern ist auch etwas fehlerhaft und ich finde es nicht.
Schau dir bitte die zwei Bilder an
das erste Bild kommt von deinem Code
das zweite von Daniel Ansätze:
Userbild
Userbild
AW: @Daniel - ListBox Item an label Array
05.05.2022 09:12:51
Daniel
Hi
Der Versatz kommt, weil hier für die Berechnung der Top-Position "normal" dividiert wird und du somit die Faktorenreihe 0 - 0,25 - 0,5 - 0,75 - 1 - 1,25 - 1,5 - 1,75 - 2 - 2,25 ... bekomsst, so dass jeder Block um 1/4-Zeile nach unten verschoben wird.
Du willst aber immer 4 Blöcke auf einer Höhe haben und dann erst in die nächste Zeilee gehen und brauchst daher die Reihe 0 - 0 - 0 - 0 - 1 - 1 - 1 - 1 - 2 - 2 - ...
Daher musst du von j/4 immer noch die Ganzzahl bilden, daher das Int(j/4), was SNB vergessen hat.
Gruß Daniel
Anzeige
AW: Danke
05.05.2022 10:05:02
Antonio
Danke Daniel für die gute Erklärung.
LG Antonio

113 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige