Auch wenn beide Zellen identisch sind (Excelvergleich gibt "Wahr" wieder), kommt es immer wieder vor, dass die Überschrift nicht kopiert wird. Erst wenn die Formel erneut gestartet wird, klappt es.
Wie kann das sein? Hat die Funktion bei größeren Datenmengen (per Zufall) Probleme?
For j = 13 To 42
letztereihe2 = ThisWorkbook.Worksheets("Datenbank").Cells(Rows.Count, j).End(xlUp).Row
For i = 2 To letztereihe2
suchwert = ThisWorkbook.Worksheets("Datenbank").Cells(i, j).Value
For k = letztereihe1 To 1 Step -1
zweck = ThisWorkbook.Worksheets("Datenbank").Range("C" & k).Value
If InStr(1, zweck, suchwert, vbTextCompare) > 0 Then
ThisWorkbook.Worksheets("Datenbank").Range("C" & k).Offset(0, 3) = ThisWorkbook. _
Worksheets("Datenbank").Cells(1, j)
End If
Next k
Next i
Next j