Microsoft Excel

Herbers Excel/VBA-Archiv

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

Label-Feld - Haken setzen

Betrifft: Label-Feld - Haken setzen von: Dirk L.
Geschrieben am: 22.08.2008 09:47:03

Hallo zusammen!

Ich habe ein Formula entwickelt mit über 20 enthaltenen Label_Feldern, über die ich einen Haken setzen kann. Theoretisch müsste ich den Code nun für jedes Label-Feld erstellen. Gibt es eine Möglichkeit, den Code so umzustricken, dass ich diesen für alle Label-Felder nutzen kann?


Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, _
 _
 ByVal Y As Single)
    If Label1.Caption = "X" Then
        Label1.Caption = ""
    ElseIf Label1.Caption = "" Then _
        Label1.Caption = "X"
    End If
End Sub



Gruß
Dirk L.

  

Betrifft: AW: Label-Feld - Haken setzen von: fcs
Geschrieben am: 22.08.2008 11:14:51

Hallo Dirk,

die MouseDown-Ereignisprozedur muss du meines Wissens für jedes Label einfügen.

Du kannst aber aber eine kleine Sub aufrufen, um die Labelbeschriftung zu ändern.

Beispiel:

Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
    ByVal X As Single, ByVal Y As Single)
    Call LabelX(Me.Label1.Name)
End Sub
Private Sub Label2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
    ByVal X As Single, ByVal Y As Single)
    Call LabelX(Me.Label2.Name)
End Sub

Private Sub LabelX(strLabelname As String)
    With Me.Controls(strLabelname)
    If .Caption = "X" Then
        .Caption = ""
    ElseIf .Caption = "" Then _
        .Caption = "X"
    End If
    End With
End Sub


Evtl. kann man mit in einem Klassenmodul definierten Elementen eine Vereinfachung erzielen. da bin ich aber nicht so bewandert.

Gruß
Franz


  

Betrifft: AW: Label-Feld - Haken setzen von: Dirk L.
Geschrieben am: 22.08.2008 13:41:29

Hallo Franz!

Als erstes Danke für die Antwort.
Bekomme aber leider zum einen einen Fehler im Code für die Einzelnen Label-Felder (Fehler beim Kompilieren) in Zeile "Call LabelX(Me.Label33.Name)" und zum anderen beim Code "...LabelX(strLabelname as String)" in Zeile "With Me.Controls(strLabelname)" (Methode oder Datenobjekt nicht gefunden "With Me.Controls".

Gruß
Dirk


 

Beiträge aus den Excel-Beispielen zum Thema "Label-Feld - Haken setzen"