Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Webadresse nach Eingabe in Excel syntaktisch überprüfen

Frage Microsoft Microsoft Office

Mitglied: Rene1976

Rene1976 (Level 2) - Jetzt verbinden

05.08.2014, aktualisiert 06.08.2014, 1744 Aufrufe, 3 Kommentare

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
Mitglied: colinardo
LÖSUNG 05.08.2014, aktualisiert 06.08.2014
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
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.)
01.
Function CheckSyntax(ByVal rngTarget As Range) As Boolean 
02.
    Set regex = CreateObject("vbscript.regexp") 
03.
    regex.IgnoreCase = True 
04.
    regex.Pattern = "^https?://[\-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]$" 
05.
    If Not regex.Test(rngTarget.Value) Then 
06.
        CheckSyntax = False 
07.
    Else 
08.
        CheckSyntax = True 
09.
    End If 
10.
    set regex = Nothing 
11.
End Function 
12.
 
13.
Private Sub Worksheet_Change(ByVal Target As Range) 
14.
    'Range bei dem eine Änderung etwas bewirken soll 
15.
    Set changeRange = ActiveSheet.Range("A1:A100") 
16.
    If Not Application.Intersect(changeRange, Target) Is Nothing Then 
17.
        If Not CheckSyntax(Target) Then 
18.
            MsgBox "Die Webadresse hat die falsche Syntax", vbCritical 
19.
            Application.EnableEvents = False 
20.
            Target.Value = "" 
21.
            Application.EnableEvents = True 
22.
        End If 
23.
    End If 
24.
End Sub
Den Regex kannst du ja nach deinem Gusto gestalten, bzw. erweitern (er stellt keinen Anspruch auf Vollständigkeit).

Grüße Uwe
Bitte warten ..
Mitglied: Rene1976
06.08.2014 um 14:17 Uhr
Hi Uwe,

vielen Dank für die schnelle Hilfe.
Der Code funktioniert.

In Zeile 5 muss aber das "not" entfernt werden.

If Not regex.Test(rngTarget.Value) Then

Deine Regex funktioniert leider noch nicht bei allen Varianten.
Werde sie bei Gelegenheit ändern wenn ich hier eine passenden gefunden habe.
http://regexlib.com/Search.aspx?k=url

Eine Regex für alle Konstellationen einschließlich von neuen TLD zu finden oder zu schreiben wird immer schwerer

Besten Dank.

Rene
Bitte warten ..
Mitglied: colinardo
06.08.2014, aktualisiert um 14:35 Uhr
Zitat von Rene1976:
In Zeile 5 muss aber das "not" entfernt werden.
nö, wieso ?? Das hat schon seine Richtigkeit.

Deine Regex funktioniert leider noch nicht bei allen Varianten.
habe ich auch nicht behauptet 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.
Ein Regex der alle Eventualitäten matcht, wird sooooooooooooooooooooooooooooo lang
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel - Aufzählung aller, mit der Eingabe, übereinstimmenden Zellen

Frage von tomaschku zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

Microsoft
gelöst RFID zu Tastatur eingabe (4)

Frage von schneerunzel zum Thema Microsoft ...

Router & Routing
Pfsense - QoS überprüfen

Frage von MegaGiga zum Thema Router & Routing ...

Neue Wissensbeiträge
Viren und Trojaner

Link: Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...

Windows Installation
Windows 10 neu installieren (10)

Frage von imebro zum Thema Windows Installation ...

Switche und Hubs
gelöst VLAN für Gäste WLAN einrichten über FritzBox und Switch (10)

Frage von Elo-14 zum Thema Switche und Hubs ...