Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Links in Dynamische Labels


Betrifft: Links in Dynamische Labels von: Claudia
Geschrieben am: 13.06.2018 15:32:09

Hallo,

ich brauche Hilfe bei dynamischen Labels. In meiner excel Anwendung habe ich div. Frames in einer Userform. In den Frames erstelle ich dynamische Labes.

So kann ich sehr gut eine Liste mit Daten aus einer Datenbank abbilden.

Was ich bisher nicht hinbekomme ich, einen Link als Label o.a. einzufügen, so dass er dann angeklickt werden kann und sich die Website öffnet.

Da ich neu bin hoffe ich das ich mich verständlich ausgedrückt habe und würde mich über eine Hilfestellung freuen.



Danke schon mal & LG

Claudia

  

Betrifft: AW: Links in Dynamische Labels von: Nepumuk
Geschrieben am: 13.06.2018 15:41:50

Hallo Claudia,

ein Beispiel:

Private Sub Label1_Click()
    Call ThisWorkbook.FollowHyperlink(Address:="http://www.herber.de/forum/", NewWindow:=True)
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Links in Dynamische Labels von: Claudia
Geschrieben am: 13.06.2018 15:48:05

Hallo Nepumuk,

danke schon mal. Das wäre ja der normale Label. Ich fülle jedoch so in den Frame

With uf.Frame_uebersichtsliste.Controls.Add("Forms.Label.1"): .Caption = s7.Cells(i, 3): .Top = 16 * zeile: .Left = 65: .WordWrap = False: end With


LG Claudia


  

Betrifft: AW: Links in Dynamische Labels von: Nepumuk
Geschrieben am: 13.06.2018 16:22:17

Hallo Claudia,

ist das immer der selbe Link oder ist der auch dynamisch?

Gruß
Nepumuk


  

Betrifft: AW: Links in Dynamische Labels von: Claudia
Geschrieben am: 13.06.2018 20:23:25

Hallo,

der Link ist immer unterschiedlich aus der Datentabelle.

LG Claudia


  

Betrifft: AW: Links in Dynamische Labels von: Daniel
Geschrieben am: 13.06.2018 20:34:28

HI

die LINK-Adresse könnte beim Erstellen des Labels in die TAG-Eigenschaft geschrieben werden und im Klick-Event des Labels dort aufgerufen werden.

Wenn du bei zur Laufzeit erstellten Steuerelementen ein Eventmakro haben willst, müsstest du entweder
- zusätzlich zu jedem Label das entsprechende Makro per Code erstellen
oder
- dich mit KLassenprogrammierung beschäftigen, dh ein einziges Klick-Eventmakro, welches dann aber allen neu erstellten Labels zugeordnet wird, so dass du nur ein ein Makro für alle Labels benötigst und nicht für jedes Label eines.
das währe hier das Mittel der Wahl. Zum Thema "Klassenprogrammierung" bitte in den Forenarchiven oder im WWW nach Anleitungen suchen.

Gruß Daniel


  

Betrifft: AW: Links in Dynamische Labels von: Claudia
Geschrieben am: 13.06.2018 20:35:41

Hallo, danke Dir ich werde da mal tiefer reinschauen.


  

Betrifft: AW: Links in Dynamische Labels von: Nepumuk
Geschrieben am: 14.06.2018 09:02:21

Hallo Claudia,

ein Beispiel:

Im Modul des Userforms:

Option Explicit

Private mobjLabelCollection As Collection

Private Sub UserForm_Initialize()
    Dim lngIndex As Long
    Dim objLabelClass As clsLabel
    Dim objLabel As MSForms.Label
    Set mobjLabelCollection = New Collection
    For lngIndex = 1 To 10
        Set objLabel = Frame1.Controls.Add(bstrProgID:="Forms.Label.1")
        With objLabel
            .Caption = Tabelle1.Cells(lngIndex, 3).Text
            .Tag = Tabelle1.Cells(lngIndex, 4).Text 'Das ist der Hyperlink
            .Top = 16 * lngIndex
            .Left = 65
            .WordWrap = False
        End With
        Set objLabelClass = New clsLabel
        Set objLabelClass.Label = objLabel
        Call mobjLabelCollection.Add(Item:=objLabelClass)
        Set objLabelClass = Nothing
    Next
    Set objLabel = Nothing
End Sub

Private Sub UserForm_Terminate()
    Set mobjLabelCollection = Nothing
End Sub
In einem Klassenmodul mit dem Namen clsLabel:
Option Explicit

Private WithEvents mobjLabel As MSForms.Label

Private Sub Class_Terminate()
    Set Label = Nothing
End Sub

Friend Property Get Label() As MSForms.Label
    Set Label = mobjLabel
End Property

Friend Property Set Label(ByRef probjLabel As MSForms.Label)
    Set mobjLabel = probjLabel
End Property

Private Sub mobjLabel_Click()
    Call ThisWorkbook.FollowHyperlink(Address:=mobjLabel.Tag, NewWindow:=True)
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Links in Dynamische Labels von: Luschi
Geschrieben am: 13.06.2018 15:51:16

Hallo Claudia,

warum googelst Du nicht? [userform label hyperlink]
Dann hättest Du diesen Tipp von John Walkenbach gefunden.
http://spreadsheetpage.com/index.php/tip/adding_a_hyperlink_to_a_userform/
Da kannst Du auch eine Demodatei zum Thema herunterladen.

Gruß von Luschi
aus klein-Paris


  

Betrifft: Zur Info: von: RPP63
Geschrieben am: 13.06.2018 21:33:50

http://www.vba-forum.de/Forum/View.aspx?ziel=45371-Links_in_Dynamische_Labels


Beiträge aus dem Excel-Forum zum Thema "Links in Dynamische Labels"