Wie kann ich die return-multi-select-listbox-Werte in einem Satz mit Word-VBA?
Habe ich einen multi-select-listbox auf einer userform. Es gibt 9 items in die listbox. Wie kann ich sammeln die ausgewählten Elemente in einem Satz?
Die listbox enthält die Gründe für die Rücksendung einen Scheck. Die Elemente in der listbox sind idenfiers oder Platzhalter für eine längere Zeichenfolge, so dass die Auswahl "unsigned", schafft der string zurückgegeben wird, "die Prüfung wurde nicht signiert".
Der Benutzer kann wählen Sie mehrere Gründe, so wird abhängig von der Auswahl, ich brauche Satzbau, dass Formate wie z.B.: "x, y, und z" ODER "y" und "z" ODER "z". (ex: "der Scheck ist nicht unterschrieben, die Prüfung ist post-datiert, und der check ist ein Dritte-Partei-check.")
Scheint es, als ob ein array muss erstellt werden, aus der Selektionen die Selektionen gezählt, dann eine "Wenn, dann" - Anweisung zu erstellen den Satz, aber da bin ich überfragt.
Ich kann Sie zählen, die ausgewählten Elemente habe, kann ich den Satz, wenn nur 1 Element ausgewählt ist, aber der zusammengesetzte Satz stümpfe mich.
- Dieser code verwendet ein Wörterbuch, um die ausgewählten Elemente, spart zu dimensionieren arrays. exceldevelopmentplatform.blogspot.com/2018/03/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich diese Funktion gibt ein array der ausgewählten Elemente aus einem listbox. Ich habe aktualisiert und aus meiner ursprünglichen Antwort, um wieder eine durch Trennzeichen getrennte Zeichenfolge anstelle eines Arrays von ausgewählten Elementen:
Rufen Sie diese durch die Zuweisung zu einem array:
Ab diesem Punkt, können Sie einfach ersetzen Sie die letzten Komma mit einem "und" und Sie sollten alle gesetzt.
lBox As Object
.lBox As Object
funktioniert! Danke!lBox As MSForms.ListBox
zulBox As Object
wie vorgeschlagen zu vermeiden, die fehlende Bibliothek Fehler, aber das musste ich auch änderntmpArray(selCount) = lBox.List(i)
zutmpArray(selCount) = lBox.ItemData(i)
, wie ich war immer eine ungültige Eigenschaft, die Fehler in dieser Zeile. Ansonsten funktioniert wunderbar! Das hat es für mich arbeiten, auf Access 2010.Diese ist sehr basic und ich nur schnell warf Sie zusammen, aber für das, was Sie zu tun versuchen:
9 Subscript out of Range
. Wenn es mehr als 3 Elemente, Bedarf es der zusätzlichen, Variablen-Deklaration, - Verkettung, bedingte Anweisung, die für jeden potenziellen listbox-item, etc. Außerdem konnte die Ausbeute hässlich Zeichenfolgen wie, , z
oder, y,
.Vergessen die REDim array-Konzept - kann manchmal verwirrend erhalten. Eine einfache Möglichkeit, zu sammeln multiselect-Auswahl ist folgende