VBA Excel (Worksheet-) Funktion soll Hyperlink zurückgeben

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von erichq.

    VBA Excel (Worksheet-) Funktion soll Hyperlink zurückgeben

    Hallo,

    folgendes Problem, ich möchte eine Excel VBA Funktion programmieren, die bei der Googlesuche unterstützt.
    Dazu sind Suchbegriffe in Excel Zellen gespeichert. Die Funktion soll einen hyperlink zu google erstellen, beim Klick auf den hyperlink wird der Browser aufgerufen und man sieht das Suchergebnis.

    Visual Basic-Quellcode

    1. Public Function gs(sSearchstring As String, Optional sGooglesite = "de")
    2. Dim sGoogle, sGoogle1, sGoogle2, sURL As String
    3. sGoogle = "http://www.google.com/search?hl=" & sGooglesite & "&q="
    4. sGoogle2 = "&btnG=Google-Suche&meta="
    5. sGoogle1 = Replace(sSearchstring, " ", "+")
    6. sURL = sGoogle & sGoogle1 & sGoogle2
    7. gs = sURL
    8. end Function



    Die Funktion gs wie oben definiert liefert die URL in Stringform zurück. Mein Ziel ist es, dass gleich ein Hyperlink zurückgeliefert wird.
    Mir ist bewusst, dass die Excelformel =hyperlink(gs("text")) das gewünschte Ergebnis liefert. Würde nur gerne die Benutzerfreundlichkeit erhöhen.

    Vielen Dank für die Hilfe,
    erichq


    End Function

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „erichq“ ()

    Was du da vorhast ist zwar löblich, aber halt weder Fisch noch Fleisch. Was spricht denn dagegen, das Format Hyperlink für die Suchbegriffe zu vergeben und den Klick darauf manuell per Code abzufangen und direkt den Link auszuführen..
    Hallo,

    danke für deinen Vorschlag, der durchaus möglich wäre.
    Was dagegen spricht ist einmal die Userfreundlichkeit (man muss Zellen als Hyperlink formatieren, und das ist nicht trivial). Das andere ist, dass nicht jeder hyperlink als Suchanfrage an Google geschickt werden soll. Es können auch "echte" hyperlinks im worksheet vorkommen, die keine Suche auslösen sollen.
    Suchbegriffe von echten hyperlinks zu unterscheiden wird nicht immer einfach sein.

    erichq
    das ist die lösung zu meinem problem.
    siehe auch:
    vbaexpress.com/forum/showthread.php?t=24787


    Visual Basic-Quellcode

    1. Public Function gs(sSearchstring As String, Optional sGooglesite = "de")
    2. Dim sGoogle, sGoogle1, sGoogle2, sURL As String
    3. sGoogle = "www.google.com/search?hl=" & sGooglesite & "&q="
    4. sGoogle2 = "&btnG=Google-Suche&meta="
    5. sGoogle1 = Replace(sSearchstring, " ", "+")
    6. sURL = sGoogle & sGoogle1 & sGoogle2
    7. gs = sSearchstring
    8. Application.Caller.Hyperlinks.Add Anchor:=Application.Caller, Address:=sURL
    9. End Function


    Vielen Dank für eure Unterstützung

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „erichq“ ()