MsgBox
- MsgBox von xtian vom 30.10.2020 08:50:49

Betrifft: MsgBox
von: xtian
Geschrieben am: 30.10.2020 08:50:49
Guten morgen,
ich habe 2 Punkte wo ich leider nicht weiterkomme. Ich hoffe es kann mir jemand helfen.
Das Makro prüft, ob die Texte in Spalte 8 nicht länger als 20 Zeichen lang sind.
Problem 1: Sind die Texte nicht länger als 20 Zeichen, soll eine MsgBox mit den Worten
"Alles Ok" kommen.
Problem 2: Weiterführend würde ich gerne auch noch prüfen lassen, ob in den Texten
ein ö oder ä oder ü vorhanden ist.
Sub DateinamePruefen()
Dim i As Long
Dim DName As String
Dim LRow As Long
LRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 18 To 50 'LRow
DName = Cells(i, 8)
If Len(DName) > 20 Then
Cells(i, 8).Select
End If
Next
End Sub
Wie bekomme ich das hin?
Gruß
Christian

Betrifft: AW: MsgBox
von: Nepumuk
Geschrieben am: 30.10.2020 09:05:23
Hallo Christian,
so:
Sub DateinamePruefen()
Dim i As Long
Dim LRow As Long
Dim blnFound As Boolean
LRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 18 To 50 'LRow
If Len(Cells(i, 8).Text) > 20 Then
Cells(i, 8).Select
blnFound = True
Exit For
End If
Next
If Not blnFound Then MsgBox "Alles in Ordnung."
End Sub
Gruß
Nepumuk

Betrifft: AW: MsgBox
von: Oberschlumpf
Geschrieben am: 30.10.2020 09:16:40
Hallo Christian,
verwende zusätzlich wegen der Umlaute noch diesen Code, den der 1. Antworter wohl vergessen hat ;-) :
If Instr(LCase(DName),"ä") > 0 Or _
Instr(LCase(DName),"ö") > 0 Or _
Instr(LCase(DName),"ü") > 0 Then
Cells(i, 8).Select
blnFound = True
Exit For
End If
Und diesen Code setzt du direkt unterhalb der 1. If-Bedingung.
LCase() "findet" auch großgeschriebene Umlaute. So musst du nicht eine zusätzliche If-Bedingung einbauen.
Hilfts?
Ciao
Thorsten

Betrifft: AW: MsgBox
von: xtian
Geschrieben am: 30.10.2020 09:45:03
Hallo Thorsten,
vielen Dank und ein schönes Wochenende.
Gruß
Christian

Betrifft: AW: MsgBox
von: xtian
Geschrieben am: 30.10.2020 09:44:30
Hallo Nepumuk,
vielen Dank und ein schönes Wochenende.
Gruß
Christian

Betrifft: AW: MsgBox
von: xtian
Geschrieben am: 30.10.2020 10:46:21
Hallo,
ich benötige dann doch noch einmal Hilfe. Makro funktioniert, aber
sobald jetzt der erste Fehler gefunden wurde (z.B. Länge Datei)
bricht das Makro ab. Hat die nächste Zelle z.B. ein ä in der Datei,
wird das nicht entsprechend markiert.
Sub DateinamePruefen()
Dim i As Long
Dim LRow As Long
Dim blnFound As Boolean
LRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 18 To 50
If Len(Cells(i, 8).Text) > 20 _
Or InStr(LCase(Cells(i, 8)), "ü") > 0 Or InStr(LCase(Cells(i, 8)), "ö") > 0 Or InStr( _
LCase(Cells(i, 8)), "ä") > 0 _
Or InStr(LCase(Cells(i, 8)), "ß") > 0 Or InStr(LCase(Cells(i, 8)), " ") > 0 Then
Cells(i, 8).Font.ColorIndex = 3
blnFound = True
Exit For
End If
Next
If Not blnFound Then MsgBox "Alles in Ordnung."
End Sub
Gruß
Christian

Betrifft: AW: MsgBox
von: xtian
Geschrieben am: 30.10.2020 10:51:10
Habe es rausgefunden- Exit for muss raus. Trotzdem vielen Dank.
Beiträge aus dem Excel-Forum zum Thema "MsgBox"