Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sonderzeichen über Msgbox ausgeben

Sonderzeichen über Msgbox ausgeben
31.03.2022 10:02:54
Kerstin
Hallo Excel-Cracks!
Ich habe wieder einmal ein Problem:
1. Ich möchte wissen, ob sich Sonderzeichen in Zelle N1 befinden. Falls ja dann
2. Sonderzeichen in Zelle N1 entfernen. Hierzu habe ich bereits einen funktionierenden Code im www gefunden s.u.
3. möchte ich das oder die Sonderzeichen in einer Msgbox ausgeben, die sich im String in Zelle N1 befanden

Sub OhneSonderzeichen()
'If Range("N1") keine Sonderzeichen then
'Exit sub
'Else
Dim var As String
Dim i As Integer
Const c_Sonder As String = " .;:#äüö+?)=%$&("
var = Range("N1")
For i = 1 To Len(c_Sonder)
var = Replace(var, Mid(c_Sonder, i, 1), "")
Next i
Range("N1") = var
'Hier sollen die gefundenen Sonderzeichen aufgezählt werden
MsgBox "Folgende Sonderzeichen wurde(n)  entfernt: " & Gefundene SONDERZEICHEN
'End If
End Sub
Beispiel für String in Zelle N1: Pferde & Kaninchen / Affen & Schnecken (Es können auch andere Sonderzeichen sein)
In der MsgBox sollen also die Zeichen "&" u. "/" ausgegeben werden
Und wenn ihr ganz toll seid, dann sollen doppelt gefundene Sonderzeichen nur ein Mal ausgegeben werden
Hoffentlich kann mir jemand bei den Punkten 1 und besonders bei 2 helfen...
Viele Grüße
Kerstin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sonderzeichen über Msgbox ausgeben
31.03.2022 10:21:47
peterk
Hallo

Sub OhneSonderzeichen()
'If Range("N1") keine Sonderzeichen then
'Exit sub
'Else
Dim var As String
Dim i As Integer
Dim SonderZeichen As String
Dim Var_Len As Long
Const c_Sonder As String = " .;:#äüö+?)=%$&("
SonderZeichen = ""
var = Range("N1")
For i = 1 To Len(c_Sonder)
Var_Len = Len(var)
var = Replace(var, Mid(c_Sonder, i, 1), "")
If (Var_Len  Len(var)) Then SonderZeichen = SonderZeichen & Mid(c_Sonder, i, 1)
Next i
Range("N1") = var
'Hier sollen die gefundenen Sonderzeichen aufgezählt werden
If Len(SonderZeichen) = 0 Then
MsgBox "Keine Sonderzeichen gefunden"
Else
MsgBox "Folgende Sonderzeichen wurde(n)  entfernt: " & SonderZeichen
End If
End Sub
Peter
Anzeige
Ergänzung ganz toll: nur einmal ausgeben
31.03.2022 11:03:38
MCO
Hallo Kerstin,
Ersetze

If (Var_Len  Len(var)) Then SonderZeichen = SonderZeichen & Mid(c_Sonder, i, 1)
durch

If (Var_Len  Len(Var)) And InStr(Sonderzeichen, Mid(c_Sonder, i, 1)) = 0 Then Sonderzeichen = Sonderzeichen & Mid(c_Sonder, i, 1)
Damit sollte jedes Zeichen nur angefügt werden, wenn es in der Auflistung noch nicht vorhanden ist.
Gruß, MCO
AW: Ergänzung ganz toll: nur einmal ausgeben
31.03.2022 11:12:30
peterk
Hallo
Replace ersetzt alle Zeichen auf einmal, daher ist es nicht notwendig zu prüfen ob das Sonderzeichen bereits vorhanden ist.
Peter
Anzeige
Sorry,..
31.03.2022 22:08:16
MCO
Sorry, habs nicht ordentlich gelesen, mein Fehler.
Gruß, MCO
AW: Sonderzeichen über Msgbox ausgeben
31.03.2022 12:26:24
Daniel
HI
so vielleicht:

Sub OhneSonderzeichen()
Dim L as string
Dim SonderGefunden as string
Dim var As String
Dim i As Integer
Const c_Sonder As String = " .;:#äüö+?)=%$&("
var = Range("N1")
For i = 1 To Len(c_Sonder)
L = Len(var)
var = Replace(var, Mid(c_Sonder, i, 1), "")
if Len(var)  "" then
Range("N1") = var
MsgBox "Folgende Sonderzeichen wurde(n)  entfernt: " & SonderGefunden
end If
End Sub
Gruß Daniel
AW: Sonderzeichen über Msgbox ausgeben
31.03.2022 17:00:07
Kerstin
Hallo zusammen!
Vielen Dank!
Klappt alles super! So wollte ich es haben!
LG Kerstin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige