Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Bild it Hyperlink per VBA

Betrifft: Bild it Hyperlink per VBA von: marcus
Geschrieben am: 24.09.2020 12:36:48

Hallo zusammen,

ich habe im Verein eine ewig große Liste von Mitgliedern, diese sind alle in alle in Freihandformen dargestellt.

Hinter jeder Freihandform soll ein Hyperlink gelegt werden und die Freihandform soll den Namen aus einer Tabelle bekommen.

habe 2 Tabellen

Ziel = hier sind die ganzen Freihandformen
Quelle = hier Stehen die Namen und der jeweilige Hyperlink

ICh würde mir wünschen, wenn es per Makro möglich wäre nun den Freihandformen in der Tab. Ziele, die Namen und Hyperlinks aus Tab. Quelle zuzuordnen.

Warum? da sich die Namen zwar selten ändern außer bei Heirat Scheidung und Verlassen, sich aber die Leistungsklassen ständig ändern, müsste ich daher von weit über 200 Mitgliedern ständig alles per Hand ändern.

Kann mir da jemand helfen bitte?
in Access und SQL ist es kein Thema, aber leider darf ich das nicht im Verein benutzen, da die Ergebnisse und Werte uch noch anderen Programmen zu Verfügung stehen müssen.

hier der Pfad zur Musterdatei

https://www.herber.de/bbs/user/140405.xlsm

danke im Voraus
Marcus

Betrifft: AW: Bild it Hyperlink per VBA
von: peterk
Geschrieben am: 24.09.2020 13:40:30

Hallo
Sub AddHyperLink()

    Dim sh As Shape
    Dim rowFound As Variant
    
    With Worksheets("Ziel")
        For Each sh In .Shapes
            If sh.Type = msoFreeform Then
                rowFound = Application.Match(sh.TextEffect.Text, Worksheets("Quelle").Range("A: _
A"), 0)
                If Not IsError(rowFound) Then
.Hyperlinks.Add Anchor:=sh, Address:="https://" & Worksheets("Quelle").Range("B" & rowFound)
                Else
                    MsgBox (sh.TextEffect.Text & vbCrLf & vbCrLf & "wurde in Quelle nicht  _
gefunden")
                End If
            End If
        
        Next sh
    End With

End Sub


Betrifft: AW: Bild it Hyperlink per VBA
von: marcus
Geschrieben am: 24.09.2020 14:47:09

@PeterK

danke für die schnelle Antwort und es funktioniert. TOP danke

Wie muss ich die Zeilen abändern das er sowohl Internetadressen und auch Laufwerke verlinken kann?
Das mit dem Internet hast du ja mir schon gegeben - danke
welche Zeile muss ich einpflegen das wenn es sich um eine normalen Speicherort C:Test/usw handelt

Danke im Voraus
Marcus

Betrifft: AW: Bild it Hyperlink per VBA
von: peterk
Geschrieben am: 24.09.2020 14:57:42

Hallo

Am einfachsten wäre, wenn Du in der "Quelle" alle Internetadressen mit "https://" versiehst, d.h. statt "www.google.de" steht in der Zelle "https://www.google.de". Dann kannst Du die Zeile
.Hyperlinks.Add Anchor:=sh, Address:="https://" & Worksheets("Quelle").Range("B" & rowFound)
durch
.Hyperlinks.Add Anchor:=sh, Address:=Worksheets("Quelle").Range("B" & rowFound)
ersetzten. Wenn jetzt in einer anderen Zelle z.B. "C:\Users\SR3319575945.pdf" steht, öffnet der Link automatisch das PDF File.

Peter

Betrifft: AW: Bild it Hyperlink per VBA
von: marcus
Geschrieben am: 24.09.2020 16:26:31

@Peter

was soll ich sagen läuft perfekt Danke Danke

eine Frage hätte ich noch Ist es möglich, das ich jeder Form einen festen Bezug zuweise?

also nicht über den Text in der Form (Abfrage gibt es den Text in der Quelle dann mach Hyperlink)
den jetzt steht in der Box der Text des Links drin, und der ist teilweise 54 Zeichen lang.
Mit dem unbedachten Wunsch von mir sieht das etwas unübersichtlich aus.

In der Box sollte der Name des Mitgliedes stehen und über den Link sollte sich die jeweilige Scorekarte öffnen (diese ändert sich sehr häufig - daher den Wunsch ihn dynamisch zu haben) und als Box wollte ich das ganze um es in der jeweiligen Klasse schieben zu können um es optisch darzustellen wer wo platziert ist.

Also anstatt das er die Abfrage von Inhalt zu Hyperlink gestaltet
Sollte er jetzt der Box 1 den Hyperlink aus Tab Quelle B2 zuweisen.

Habe alle Boxen umbenannt und daher könnte sich das machen lassen oder?

Wäre sehr verbunden,

danke im Voraus
Marcus

Betrifft: AW: Bild it Hyperlink per VBA
von: peterk
Geschrieben am: 24.09.2020 16:38:43

Hallo

Ich versteh nicht ganz was du meinst. Ich dachte deine Box wäre mit dem Namen beschriftet (Quelle!A) und mein Macro macht den entspechenden Link aus Quelle!B. Kannst Du ein Beispiel einstellen was genau Du geändert haben willst?

Peter

Betrifft: AW: Bild it Hyperlink per VBA
von: marcus
Geschrieben am: 24.09.2020 17:18:19

Hallo Peter,

es ist schwer zu erklären

In der Box steht der Name des Spielers
Der Hyperlink bezieht sich auf die Scorekarte in der er gerade spielt

in der Quelle steht in Spalte:

A der Name der Box
B der Link zu dem Scoreblatt (lokal oder im Netzwerk oder im Internet)
C hier steht der Name des Spielers
Datei kommt

Betrifft: AW: Bild it Hyperlink per VBA
von: marcus
Geschrieben am: 24.09.2020 17:19:19

https://www.herber.de/bbs/user/140414.xlsm

Betrifft: AW: Bild it Hyperlink per VBA
von: peterk
Geschrieben am: 24.09.2020 17:25:29

Hallo

Willst Du "leeren" Freihandformen den Namen und Link aus Quelle zuordnen?

Peter

Betrifft: AW: Bild it Hyperlink per VBA
von: marcus
Geschrieben am: 24.09.2020 17:28:36

ja so wäre es gedacht,

ich habe für über 200 Mitspieler Freihandformen angelegt
diese sollten sich mit dem Namen aus Spalte C beschriften und mit dem Hyperlink aus Spalte B verlinken

Danke für die Zeit und Hilfe

Betrifft: AW: Bild it Hyperlink per VBA
von: peterk
Geschrieben am: 24.09.2020 17:37:21

Hallo

Sub AddHyperLink()
    
    Dim sh As Shape
    Dim rowFound As Variant
        
    With Worksheets("Ziel")
        For Each sh In .Shapes
            If sh.Type = msoFreeform Then
                rowFound = Application.Match(sh.Name, Worksheets("Quelle").Range("A:A "), 0)
                If Not IsError(rowFound) Then
                    .Hyperlinks.Add Anchor:=sh, _
Address:="https://" & Worksheets("Quelle").Range("B" & rowFound)
                    sh.TextEffect.Text = Worksheets("Quelle").Range("C" & rowFound)
                Else
                    MsgBox (sh.TextEffect.Text & vbCrLf & vbCrLf & "wurde in Quelle  _
nichtgefunden ")
                End If
            End If
            
        Next sh
    
    End With
End Sub



Betrifft: AW: Bild it Hyperlink per VBA
von: marcus
Geschrieben am: 24.09.2020 17:48:17

ja Wahnsinn genau das , Hammer danke wohin soll das Bier

Sobald ich im Verein bin pflege ich es gleich ein und teste es am großen File.

Danke Danke Danke

Betrifft: AW: Bild it Hyperlink per VBA
von: marcus
Geschrieben am: 24.09.2020 18:23:30

3.5h und das jede Woche spare ich mir jetzt

DANKE DANKE

Betrifft: Danke für die Rückmeldung und viel Freude
von: peterk
Geschrieben am: 25.09.2020 09:03:23



Beiträge aus dem Excel-Forum zum Thema "Bild it Hyperlink per VBA"