mehrere objekte abfragen
Betrifft: mehrere objekte abfragen
von: david
Geschrieben am: 24.08.2004 11:23:57
Hi Leute!
Ich habe 10 Listboxen ,Listbox1, Listbox2.....Listbox10. Mit jeder Listbox soll die gleiche Prozedur ablaufen. Muss ich für jede Listbox die Prozedur schreiben oder kann ich irgendwie sagen, z.b.
For i=1 to 10
If Litstbox(i).value ="hallo" then
msgbox("hallo")
next i
so irgendwie.
WEr weis rat!? Bitte helft mir!
Mfg David
Betrifft: AW: mehrere objekte abfragen
von: GraFri
Geschrieben am: 24.08.2004 12:27:37
Hallo
Vielleicht kannst du mit dem Code was anfangen?
'Überprüft, wie viele Checkboxen auf der Userform
'in Frame1 aktiviert sind
Private Sub CheckBox_aktiviert_1()
Dim Zähler As Integer
Dim objAlle As MsForms.Control
Zähler = 0
For Each objAlle In Me.Frame1.Controls
If TypeName(objAlle) = "CheckBox" Then
If objAlle.Value = True Then Zähler = Zähler + 1
End If
Next objAlle
MsgBox Zähler
End Sub
'Überprüft, wie viele Checkboxen auf der Userform
'deren Namen mit Checkbox beginnt
Private Sub CheckBox_aktiviert_2()
Dim Zähler As Integer
Dim objAlle As MsForms.Control
Zähler = 0
For Each objAlle In Me.Controls
If TypeName(objAlle) = "CheckBox" And objAlle.Name Like ("CheckBox*") Then
If objAlle.Value = True Then Zähler = Zähler + 1
End If
Next objAlle
MsgBox Zähler
End Sub
Code eingefügt mit
Syntaxhighlighter 2.5
Mit freundlichen Grüßen, GraFri
Betrifft: AW: mehrere objekte abfragen
von: Andre
Geschrieben am: 24.08.2004 12:33:37
Hi David,
das funktioniert leider nicht, du mußt jeder Listbox schon sagen was sie machen soll, oder du schreibst alles in ein Ereignis, das später ausgelöst wird.
Eine Lösung wäre, du stellst deinen Code in ein Modul und läßt die Listboxen darauf zugreifen:
Diesen Code in ein Modul:
Sub Alle_zusammen()
If [ISNA(Vlookup("Hallo",Tabelle1!A:A,1,0)=true)] then
else
msgbox "Hallo"
end if
End Sub
Und deinen Listboxen mußt du nur noch jeweils eine Zelle in "Tabelle1" Spalte A zuweisen und mit folgendem Code versehen:
Private Sub ListBox1_Click()
call Alle_zusammen
End Sub
Private Sub ListBox2_Click()
call Alle_zusammen
End Sub
usw.
Eine andere Lösung, du läßt die Abfrage später auslösen (z.B. mit einem "Ok-Button" o.ä.):
Private Sub CommandButton1_Click()
If [ISNA(Vlookup("Hallo",Tabelle1!A:A,1,0)=true)] then
else
msgbox "Hallo"
end if
End Sub
Dann sparst du dir die zuweisung des Codes an jede Listbox.
Gruß Andre
Beiträge aus den Excel-Beispielen zum Thema "mehrere objekte abfragen"