|  
                                             
	Hallo Gabi, 
	vielen Dank für deine Nachricht... Ich muss mir leider eingestehen, dass mir das Abstraktionsvermögen fehlt, welches wohl erforderlich ist um einen gescheiden Code zu schreiben. Ich versuche immer mein Anliegen in Teilschritte zu zerlegen, aber es kommt nicht viel dabei rum. 
	Dennoch bin vor Glück beinahe den Tränen nahe, weil ich nun wenigstens einen Code hier posten kann, der wenigstens halbwegs funktioniert :D Er produziert zwar einige falsche Ergebnisse, aber er läuft! Here goes: 
Sub Test()
Dim ws As Worksheet
Dim lastRow As Long
Dim SrchRng As Range
Dim c As Range
Dim Found As Boolean
Dim shp As Excel.Shape
Dim myText As Variant
Dim Count As Long
Dim AllCells() As Variant
Dim i As Long
On Error GoTo ErrHandler
Set ws = Worksheets("Lists")
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).row
Set SrchRng = ws.Range("D2:G" & lastRow)
For Each c In SrchRng.Cells
    Found = False
    If c <> "" Then
        For Each shp In Worksheets("Checklist Structure").Shapes
            If shp.Type = msoShapeRoundedRectangle Then
                myText = shp.TextFrame2.TextRange.Characters.Text
                If c.Value = myText Then
                Found = True
                Exit For
                End If
            End If
        Next shp
        If Found = False Then
        Count = Count + 1
        ReDim Preserve AllCells(1 To Count)
        AllCells(Count) = c.Value
        End If
    End If
Next c
For i = LBound(AllCells) To UBound(AllCells)
MsgBox "Shape with text " & AllCells(i) & " is missing."
Next i
Exit Sub
  
ErrHandler:
Call MsgBox(Err.Description, vbCritical, "Fehler " & Err.number)
End Sub
	Ich bleibe dran! ;) Allerdings muss ich fairerweise gestehen, dass der letzte Part (ab "If Found") nicht von mir ist... Und dass ich den Teil vorher auf die Reihe bekommen habe, ist das Ergebnis eines mühevollen "Trial and Error" - Prozesses... 
	Viele Grüße 
	Corina 
     |