Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

String wird nicht mehr erkannt

String wird nicht mehr erkannt
31.01.2019 08:36:18
Rasenack
Hallo an alle,
ich habe leider ein kleines Problem und weiß aktuell nicht weiter. Ich möchte mit dieser kleinen Schleife eine bestimmte Spalte durchlaufen und prüfen, ob die eingegebenen Wörter rechtschreiblich korrekt sind. Wenn nicht soll das Makro abgebrochen werden. Das ist mir wichtig, weil dieser Eingabestring später als Emailempfänger(Variable) referenziert werden soll. Nun kommt das eigentliche Problem. Bei dem Wort "Konstruktion" macht er was er soll, aber bei den anderen Wörtern erkennt er nichts und bringt die MsgBox. Hab schon versucht anstatt .Value lieber .Text zu verwenden und die Spalte als Text bzw. Standard zu formatieren, leider alles ohne Erfolg.
Woran kann das nur liegen? Zumal ja ein Wort erkannt wird.
Vielen Dank im Voraus.
For Each z In Range(Cells(5, verantw), Cells(Rows.Count, verantw).End(xlUp))
If Not IsEmpty(z) Then
If Not z.Value = "Konstruktion" Or z.Value = "Vertrieb" Or z.Value = "Versand" Or z.Value = " _
Einkauf" Then
MsgBox ("Bei der Eingabe der Verantwortlichen ist ein Fehler aufgetreten!" & vbNewLine & " _
Bitte stell sicher, dass nur Outlookgruppennamen eingeschrieben wurden.")
Cells(z.Row, z.Column).Activate
Exit Sub
End If
End If
Next z

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
evtl. if Not ... Or Not ... Or Not ... Or Not ? oT
31.01.2019 08:43:57
Matthias
AW: String wird nicht mehr erkannt
31.01.2019 08:46:07
Daniel
Hallo Rasenack,
du musst das NOT vor jedem Argument angeben, sonst löst die If Abfrage aus wenn die Begriffe richtig geschrieben sind (das passiert hier).
Gruß
Daniel
If Not z.Value = "Konstruktion" Or z.Value = "Vert
31.01.2019 08:47:13
robert
..lies mal diese Zeile in Deutscher Sprache vor...
AW: String wird nicht mehr erkannt
31.01.2019 08:50:21
Daniel
Hi
das Not bezieht sich nur auf das erste Vergleichsergebnis.
du müsstest hier wahrscheinlich mit Klammern arbeiten:
If Not (z.Value = "Konstruktion" Or z.Value = "Vertrieb" Or z.Value = "Versand" Or z.Value = "Einkauf") Then
oder arbeite nicht mit NOT sondern schiebe die Aktion in den Else-Teil:
For Each z In Range(Cells(5, verantw), Cells(Rows.Count, verantw).End(xlUp))
If Not IsEmpty(z) Then
If z.Value = "Konstruktion" Or z.Value = "Vertrieb" Or z.Value = "Versand" Or z.Value = " _
Einkauf" Then
Else
MsgBox ("Bei der Eingabe der Verantwortlichen ist ein Fehler aufgetreten!" & vbNewLine & " _
Bitte stell sicher, dass nur Outlookgruppennamen eingeschrieben wurden.")
Cells(z.Row, z.Column).Activate
Exit Sub
End If
End If
Next z
Gruß Daniel
Anzeige
AW: String wird nicht mehr erkannt
31.01.2019 08:59:13
Rasenack
Vielen Dank für die schnelle und zahlreiche Hilfe. Manchmal sitz man davor und sieht den Wald vor lauter Bäumen nicht ;-)
Gespeichert für die Zukunft!
Schöne Restwoche noch und liebe Grüße
André
oder mit Select Case ...
31.01.2019 09:00:09
Matthias
Hallo
So siehts evtl übersichtlicher aus.
For Each Z In Range("A1:A10")
If Not IsEmpty(Z) Then
Select Case Z.Value
Case "Konstruktion", "Vertrieb", "Versand", "Einkauf"
Case Else
MsgBox ("Bei der Eingabe ist ein Fehler aufgetreten! usw.")
Cells(Z.Row, Z.Column).Activate
Exit Sub
End Select
End If
Next Z
Gruß Matthias
Hätte mal lieber...
31.01.2019 09:03:44
Werner
Hallo Matthias,
...vor dem Senden noch mal aktualisieren sollen.
Gruß Werner
Anzeige
alles gut :-)
31.01.2019 09:08:29
Matthias
Hallo Werner
Passiert mir auch manchmal.
Übrigens:
statt Cells(Z.Row, Z.Column).Activate
reicht: Z.Select
Hatte ich aber auch nicht gleich aufm Schirm.
Gruß Matthia
AW: alles gut :-)
31.01.2019 09:24:16
Werner
Hallo Matthias,
es ärgert mich halt, weil es unnötig ist die gleiche Lösung nochmals zu posten.
Das mit dem Z.Select habe ich bei mir aber schon drin.
Gruß Werner
AW: String wird nicht mehr erkannt
31.01.2019 09:00:57
Werner
Hallo,
so wie du das schreibst wäre es eine Und - Verknüpfung und das Not muss auch jeweils noch mit rein.
 If Not Z.Value = "Konstruktion" And Not Z.Value = "Vertrieb" And Not Z.Value = "Versand" And Not Z.Value = "Einkauf" Then

Das ist meiner Meinung nach der klassische Fall für ein Select Case
Sub Test()
Dim z As Range, verantw As Long
For Each z In Range(Cells(5, verantw), Cells(Rows.Count, verantw).End(xlUp))
If Not IsEmpty(z) Then
Select Case z.Value
Case "Konstruktion", "Vertrieb", "Versand", "Einkauf"
'nix machen
Case Else
MsgBox ("Bei der Eingabe der Verantwortlichen ist ein Fehler aufgetreten!" _
& vbNewLine & "Bitte stell sicher, dass nur Outlookgruppennamen" _
& "eingeschrieben wurden.")
z.Select
Exit For
End Select
End If
Next z
End Sub
Gruß Werner
Anzeige
AW: String wird nicht mehr erkannt
31.01.2019 09:02:51
Werner
Hallo,
und noch was:
Ich denke, dass du bei einem Fehler die For Schleife verlassen solltest.
Gruß Werner

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige