Top-Themen

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

Hyperlink in Excel per VBA auslesen

Mitglied: Grave111

Grave111 (Level 1) - Jetzt verbinden

21.11.2014, aktualisiert 17:55 Uhr, 4889 Aufrufe, 2 Kommentare

Hallo und guten Abend zusammen,

ich hätte ein kleines Problem und werde nicht wirklich fündig bei Google.
Wie im Titel bereits steht möchte ich einen Hyperlink aus einer Zelle auslesen und in URL Schreibweise in einer anderen Zelle ausgeben.

Ich schilder mal kurz die Ausgangssituation von mir..

Es wird in in einer Zelle ein Hyperlink per Formel zusammengesetzt hier das beispiel:
=HYPERLINK("http:///ADRESSE/default.cfm?OrderField=Control_Report_Nbr%20asc&Orderdir=Desc&Part_Nr="&A2;"Link - Report")

zunächst gebe ich immer die gleiche Adresse (Intranet Anwendung) vor und verkette diese mit einer Nummer die in einer Zelle in Excel steht hier im Beispiel "A2". daraufhin folgt der Name der angezeigt wird.

So nun zum Problem ich möchte jetzt die komplette URL (in verketteter Form) in eine andere Zelle schreiben da ich diese zum Export in Access benötige.

Mit folgender einfacher VBA Funktion funktioniert es zwar bei normalen Links aber nicht bei den Zusammengesetzten URL aus dem Beispiel oben.

Function HyperlinkAdresse(Zelle As Range) As String
HyperlinkAdresse = Zelle.Hyperlinks(1).Address
End Function

die Formel im Excel selber würde dann z.B. so aussehen.
=HyperlinkAdresse(A5)


Gibt es hier VBA Lösungen um auch wie in diesem Beispiel die URL auszulesen?


Grüße,
Mitglied: 114757
21.11.2014, aktualisiert um 20:16 Uhr
Moin,
wieso schreibst du nicht in die andere Zelle
="http:///ADRESSE/default.cfm?OrderField=Control_Report_Nbr%20asc&Orderdir=Desc&Part_Nr="&A2
dann hast du doch was du brauchst ...

Da der Hyperlink als Formel erzeugt wurde, gilt er unter VBA nicht als richtiger Hyperlink, bzw. ist nicht über diese Eigenschaft ansprechbar.

Entweder du lässt den Benutzerdefinierten Namen des Hyperlinks weg, dann kannst du die URL mit Zelle.Value abrufen, oder machst es wie oben beschrieben, oder du extrahierst den Link aus der Eigenschaft Zelle.Formula.
01.
Function HyperlinkAdresse(Zelle As Range) As String 
02.
    Set regex = CreateObject("vbscript.regexp"): regex.Pattern = "[a-z]+\d+": regex.IgnoreCase = True 
03.
    arrParts = Split(Zelle.Formula, """", -1, vbTextCompare) 
04.
    HyperlinkAdresse = arrParts(1) & Range(regex.Execute(arrParts(2))(0).Value).Value 
05.
End Function
Gruß jodel32
Bitte warten ..
Mitglied: 116301
22.11.2014 um 08:22 Uhr
Hallo zusammen!

Oder so:
01.
Option Explicit 
02.
Option Compare Text 
03.
 
04.
Function GetLink(Target1 As Range, Target2 As Range) As String 
05.
    Application.Volatile 
06.
    If InStr(Target1.Formula, "hyperlink") > 0 Then 
07.
        GetLink = Split(Target1.Formula, Chr(34))(1) & Target2.Value 
08.
    End If 
09.
End Function
Wobei es damit nur funktioniert, wenn der Zellwert am Ende angefügt ist/wird...

Beispiel mit A1(=Hyperlink...) und A2(Value):
=GetLink(A1;A2)

Grüße Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

VBA zum auslesen von einem Zellbereich Excel

gelöst Frage von schwalbepilotMicrosoft Office1 Kommentar

Hallo, leider bin ich mit Makros noch nicht su vertraut. Ich habe in einen Ordner mehrere hunderte Datein. Alles ...

Microsoft Office

Excel VBA Datein auslesen

gelöst Frage von schwalbepilotMicrosoft Office8 Kommentare

Hallo, ich benutze MS Excel 2010 und bräuchte ein Makro, zum auslesen mehrerer Excel Datein. Diese befinden sich alle ...

VB for Applications

Excel Liste mit vba auslesen und drucken

gelöst Frage von speedy132VB for Applications27 Kommentare

Hallo miteinander, Folgendes Problem: Ich habe eine Mitarbeiterliste mit Unterweisungsplan. Jetzt möchte ich einzelne MA markieren evtl. durch ein ...

VB for Applications

Excel VBA HTML-Tabelle auslesen

gelöst Frage von chef1568VB for Applications2 Kommentare

Hallo, ich möchte eine in einer Email eingebundenen HTML-Tabelle auslesen und in einen Array speichern. Hierzu habe ich bereits ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 14 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 14 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 1 TagSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
gelöst Frage von YellowcakeExchange Server23 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Windows Server
Downgrade von Windows Server 2016 auf 2012 - Wie vorgehen?
Frage von EstefaniaWindows Server13 Kommentare

Guten Ich habe eine Frage an Erfahrene unter euch. Durch einen InPlace Upgrade wurde Windows Server 2012 auf die ...

Datenschutz
Telematikinfrastruktur Erfahrungsaustausch
Frage von MOS6581Datenschutz12 Kommentare

Moin, unter meinen Kunden befinden sich auch einige Ärzte, welche sich künftig mit der Telematikinfrastruktur-Geschichte der Gematik herumärgern dürfen. ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...