Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
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
Kombifelder mit var. Namen einen Wert zuweisen
17.06.2018 20:03:16
mb95
Hallo,
ich habe mehrere Kombinationsfelder (Benennung: "cbo" & i).
Die Felder sind mit Auswahlmöglichkeiten befüllt, möchte beim öffnen der Userform den Feldern schon einen Wert zuweisen.
Mein Ansatz:
dim i as integer
dim strWert as string
For i = 0 to 9
me.controls("cbo" & Cstr(i + 1)) = strWert
Next i
Klappt auch soweit, nur scheint das Kombifeld den Wert zwar drin stehen hat, allerdings wird es nicht als Wert erkannt. Ich hoffe mein Problem ist klar geworden.
Leider gibt es nicht den Befehl: Me.Controls("cbo" & Cstr(i + 1)).Value
Danke für die Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: Kombifelder mit var. Namen einen Wert zuweisen
17.06.2018 22:00:11
Martin
Hallo mb95,
warum machst du es nicht wie bei einer normalen ComboBox:

dim i as integer
dim strWert as string
For i = 0 to 9
me.controls("cbo" & Cstr(i + 1)).AddItem strWert
Next i
Viele Grüße
Martin
AW: Kombifelder mit var. Namen einen Wert zuweisen
17.06.2018 22:08:21
Daniel
Hi
den Befehl gibst schon, er wird dir nur nicht in der Intellisense angezeigt.
wenn du eine Steuerelement indirekt über Controls(...) ansprichst, musst du selber wissen, welche Eigenschaften du ansprechen kannst. Die Intellisense kann dich da nicht unterstützen, weil sie nicht erkennen kann, welches Objekt verwendet wird.
Wo genau hast du den diesen Befehl platziert?
Im Initialize-Event?
wenn Comboboxen schon bei Start der Userform mit einem Wert vorbefüllt sein sollen, dann brauchst du hierfür keine Programmierung.
Du kannst alternativ auch den Startwert in die Eigenschaft Value in der Eigenschaftsliste im VBA-Editor schreiben.
Gruß Daniel
Anzeige
AW: Kombifelder mit var. Namen einen Wert zuweisen
18.06.2018 06:47:25
Matthias
Hallo
Für mich gibt es mehrere Dinge die ich nicht verstehe.
Wieso: For i = 0 to 9
statt: For i = 1 to 10 ?
wenn Du dann doch in der nächsten Zeile schreibst:
me.controls("cbo" & Cstr(i + 1)) = strWert
Somit kannst Du Dir ja das +1 sparen.
Desweiteren musst Du nicht Umwandeln, denn der Name des Controls ist sowieso ein String.
Es würde also auch so funktionieren:
Option Explicit
Private Sub UserForm_Initialize()
Dim i As Integer
Dim strWert As String
strWert = "Hallo"
For i = 1 To 10
Me.Controls("cbo" & i) = strWert & " " & i
Next i
End Sub
auch ohne .Value
Userbild
Gruß Matthias
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige