Wenn Wert nicht in Range dann
17.01.2022 12:21:13
JoTu
ich komme bei folgendem Problem auf keine Lösung... Freue mich über HIlfe und Anregungen.
In Tabellenblatt 1 in Spalte B befindet sich eine Liste mit Vokabeln. Einige Vokabeln sind zusammengesetzt (Kompositum) aus einer anderen Vokabel und einem Präfix (z.b.: perigignomai -> peri + gignomai).
In Tabellenblatt 2 in Zeile 13 befinden sich alle Präfixe (z.b.: peri, ex, apo, ...).
Ich möchte für jede Vokabel überprüfen, ob es ein Kompositum ist oder nicht.
Bisher habe ich folgenden Code, um zu prüfen, ob es eines ist:
Sub CommandButton1()
Dim Präfixe, Earn, Range1 As Range
Dim Reihenzahl As Integer
Dim Präfix, Komp As String
Reihenzahl = Worksheets("Neue Vokabeln").Cells(Rows.Count, 2).End(xlUp).Row
Set Range1 = Worksheets("Neue Vokabeln").Cells(1, 2).Resize(Reihenzahl, 1)
Set Präfixe = Worksheets("Zeitformen kurz").Range("B13:Z13")
For Each Earn In Range1
For Each Präfix In Präfixe
For i = 2 To 5 'bisherige Anzahl an Präfixen in Spalte B bis E
If Präfix = Left(Earn, i) Then
Komp = Left(Earn, i)
UserForm2.Label1.Caption = Komp
UserForm2.Show
End If
If Präfix = Left(Earn, i) Then Exit For
Next i
Next Präfix
'Wenn Präfix nicht gefunden, dann
'Zeige Earn in Userform2.Label1.Caption
Next Earn
End Sub
In der 3.- und vorletzten Zeile sollen nun die Vokabeln angezeigt werden, die kein Präfix aus der Liste der Präfixe haben. Hier hänge ich fest. Weil: Wenn ich einfach "Else:" in Bezug auf das vorhergehene "If Präfix ist vorhanden" nutze, prüft es nur das erste Präfix in der Liste und wenn das nicht stimmt, bricht es sofort ab. Es soll ja aber alle prüfen und erst am Ende, wenn es ergebnislos war, die Vokabel ausgeben.Weiß da wer eine Lösung?
VIelen Dank, Johannes