Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

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"