Webadresse nach Eingabe in Excel syntaktisch überprüfen
Hallo,
weiß jemand wie man eine Webadresse nach Eingabe (beim verlassen der Zelle) in einer Excel 2010 Zelle auf syntaktische Richtigkeit überprüfen kann?
Es gibt anscheinend keine Standarddatentyp wie Zahl oder Datum in Excel dafür.
Ich dachte da z.B. an Regular Expression wenn es nicht etwas "out of the box" gibt, aber wo gebe ich diese ein?
Es gibt ein Eingabefeld unter Datenprüfung --> Benutzerdefiniert.
Ist das die richtige Stelle oder gibt es ein bessere Lösung?
Oder muss man das wieder mit VBA machen?
Gruß,
Rene
weiß jemand wie man eine Webadresse nach Eingabe (beim verlassen der Zelle) in einer Excel 2010 Zelle auf syntaktische Richtigkeit überprüfen kann?
Es gibt anscheinend keine Standarddatentyp wie Zahl oder Datum in Excel dafür.
Ich dachte da z.B. an Regular Expression wenn es nicht etwas "out of the box" gibt, aber wo gebe ich diese ein?
Es gibt ein Eingabefeld unter Datenprüfung --> Benutzerdefiniert.
Ist das die richtige Stelle oder gibt es ein bessere Lösung?
Oder muss man das wieder mit VBA machen?
Gruß,
Rene
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245620
Url: https://administrator.de/forum/webadresse-nach-eingabe-in-excel-syntaktisch-ueberpruefen-245620.html
Ausgedruckt am: 09.04.2025 um 05:04 Uhr
3 Kommentare
Neuester Kommentar
weiß jemand wie man eine Webadresse nach Eingabe (beim verlassen der Zelle) in einer Excel 2010 Zelle auf syntaktische
Richtigkeit überprüfen kann?
Ich dachte da z.B. an Regular Expression wenn es nicht etwas "out of the box" gibt, aber wo gebe ich diese ein?
Es gibt ein Eingabefeld unter Datenprüfung --> Benutzerdefiniert.
Ist das die richtige Stelle oder gibt es ein bessere Lösung?
das geht damit nicht, dazu ist eine Webadresse zu komplex für den billigen Dialog Richtigkeit überprüfen kann?
Ich dachte da z.B. an Regular Expression wenn es nicht etwas "out of the box" gibt, aber wo gebe ich diese ein?
Es gibt ein Eingabefeld unter Datenprüfung --> Benutzerdefiniert.
Ist das die richtige Stelle oder gibt es ein bessere Lösung?
Oder muss man das wieder mit VBA machen?
yip, REGEX is always your friend Folgendes checkt z.B. den Bereich A1:A100 auf die Syntax einer Webadresse nach Änderung des Zelleninhaltes:
(Code einzufügen im Codeabschnitt des jeweiligen Arbeitsblattes auf dem die Überprüfung stattfinden soll.)
Function CheckSyntax(ByVal rngTarget As Range) As Boolean
Set regex = CreateObject("vbscript.regexp")
regex.IgnoreCase = True
regex.Pattern = "^https?://[\-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]$"
If Not regex.Test(rngTarget.Value) Then
CheckSyntax = False
Else
CheckSyntax = True
End If
set regex = Nothing
End Function
Private Sub Worksheet_Change(ByVal Target As Range)
'Range bei dem eine Änderung etwas bewirken soll
Set changeRange = ActiveSheet.Range("A1:A100")
If Not Application.Intersect(changeRange, Target) Is Nothing Then
If Not CheckSyntax(Target) Then
MsgBox "Die Webadresse hat die falsche Syntax", vbCritical
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
End If
End If
End Sub
Grüße Uwe
nö, wieso ?? Das hat schon seine Richtigkeit.
Eine Adresse kann z.B. auch so aussehen http://localhost. Kommt halt immer drauf an worauf du Priorität setzt oder welche Art Adressen bei dir verwendet werden sollen.

Deine Regex funktioniert leider noch nicht bei allen Varianten.
habe ich auch nicht behauptet - http://stackoverflow.com/questions/161738/what-is-the-best-regular-expr ...
- https://gist.github.com/gruber/8891611