Probleme bei nicht vorhandenen Objekten

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm CheckBox Label
Bild

Betrifft: Probleme bei nicht vorhandenen Objekten
von: Hannes
Geschrieben am: 17.06.2015 07:15:43

Hallo zusammen,
ich habe dynamisch eine Userform mit etlichen Checkboxes und Label erstellt, in welcher der User auswählen kann welche Felder er miteinander vergleichen will. Nachdem die Auswahl getätigt wurde betätigt der User einen Button und es sollen die entsprechenden Felder miteinander verglichen werden. Zuerst muss ich jedoch feststellen, welche Checkboxes vorhanden sind. Dafür hätte ich den Code

If Not Controls(benennung_felder(z) & "_" & benennung_felder(m)) Is
           Nothing Then

vorgesehen
Der Name der der Ceckboxes wird bei der Erstellung der Userform mittels "benennung_felder(z) & "_" & benennung_felder(m)" festgelegt.

For z = 2 To anz_felder
    For m = 1 To anz_felder
           If Not Controls(benennung_felder(z) & "_" & benennung_felder(m)) Is
           Nothing Then
                If Controls(benennung_felder(z) & "_" &
                benennung_felder(m)).Value = True Then
                    arr_vergleich(z, m) = benennung_felder(z)
                    arr_vergleich(z, m + 1) = benennung_felder(m)
                End If
           End If
    Next m
Next z
Kommt ich nun in meiner Schleife auf eine Checkbox welche nicht existiert erhalte ich die Fehlermeldung, dass das angegebene Objekt nicht gefunden werden konnte.
Wie kann ich dieses Problem lösen?
Vielen Dank für Eure Hilfe.
Gruß
Hannes

Bild

Betrifft: AW: Probleme bei nicht vorhandenen Objekten
von: AndrRo
Geschrieben am: 17.06.2015 09:51:31
Hallo Hannes,
Versuch mal die Fehler zu überspringen:
on error goto ...

On error goto weiter
For z = 2 To anz_felder
For m = 1 To anz_felder
If Not Controls(benennung_felder(z) & "_" & benennung_felder(m)) Is
Nothing Then
If Controls(benennung_felder(z) & "_" &
benennung_felder(m)).Value = True Then
arr_vergleich(z, m) = benennung_felder(z)
arr_vergleich(z, m + 1) = benennung_felder(m)
End If
End If
Weiter:
Next m
Next z
on error goto 0
gruß
AndrRo

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Probleme bei nicht vorhandenen Objekten"