Resultat statt Formel anzeigen

solae

Grünschnabel
Ich habe eine Formel die ich benutze, um die ausgewählte Instanz einer Lieste anzuzeigen:
("Timer" & masseinheit & "combom.List(Timer" & masseinheit & "combom.ListIndex)")

Zusammengefügt ergibt sich dann das:
Timer1combom.List(Timer1combom.ListIndex)

die Variable "masseinheit" enthält eine Zahl mit der ich die verschiedenen Combos auswählen kann.

Allerdings möchte ich das Resultat per MSGBOX ausgeben. Mit diesem Code:

Msgbox ("Timer" & masseinheit & "combom.List(Timer" & masseinheit & "combom.ListIndex)")

Allerdings bekomme ich dadurch dann "Timer1combom.List(Timer1combom.ListIndex)" Angezeigt.

Ich möchte aber das Resultat aus dem code "Timer1combom.List(Timer1combom.ListIndex)" Haben.

Weiss einer eine Idee?
 
Du willst also im Code erst zusammenstellen, welche Liste du ansprichst? Dann musst du die Controls über die Control-Eigenschaft der Form ansprechen:
Visual Basic:
'Ich leg hier mal den Namen in einer Variable fest
sName = "List" & "2"
'und hier geb ich das per MessageBox aus
MsgBox Me.Controls(sName).List(Me.Controls(sName).ListIndex)
Schau dir dazu auch die VB-Hilfe zur Control-Eigenschaft an.


Der Doc!
 
Das verstehe ich jetzt nicht ganz. Ist Controls ein Objekt bei dir?`

Also so funktionierts ja nicht:
Msgbox Timer(masseinheit)combom.List(Timer(masseinheit)combom.ListIndex)

Ich möchte nicht eine Liste sondern ein Item in dieser Liste auswählen.
Timer1combom ist die combobox (oder wie das zeugs heist).

Auch zur Control eigenschaft finde ich nichts was mir nützen würde über Google (VB Hilfe funktioniert bei mir nicht)
 
Controls ist eine VB-Interne Eigenschaft, die VB-Hilfe erklärt das aber besser. In deinem Fall sollte der Code so aussehen:
Visual Basic:
'Ich leg hier mal den Namen in einer Variable fest
'Das 1 kannst du ja z.B. per Schleife nach belieben ändern
sName = "Timer" & "1" & "combom"
'und hier geb ich das per MessageBox aus
MsgBox Me.Controls(sName).List(Me.Controls(sName).ListIndex)
Betr Hilfe fällt mir jetzt auch keine Seite ein, aber ne kurze Erklärung:
Die Controls-Eigenschaft der Form gestattet den Zugriff auf alle Steuerelemente der Form. Normalerweise sprichst du eine Textbox so an:
Text1.Text = "Dein Text"
Mittels Control-Eigenschaft kannst du das gleiche machen, den Namen brauchst du aber im Code nicht festlegen sondern kannst ihn z.B. in eine Textbox eingeben oder per Code ermitteln. Die Ansprache würde dann so gehen:
Me.Controls("Text1").Text = "Dein Text"
Du kannst also bei dieser Variante für dein Steuerelement alle Eigenschaften des Elements verwenden, als wenn du es direkt ansprichst. Der Vorteil ist, dass man so z.B. nach bestimmten Elementen suchen kann, bestimmte Elemente in einer Schleife aktivieren oä kann usw.


Der Doc!
 
Zuletzt bearbeitet:
Zurück