Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Klasse für Label?

Klasse für Label?
10.08.2006 17:55:58
Holger
Hallo Forum,
12 Label in einer Userform zur Laufzeit erzeugen schaffe ich noch aber nicht,
dass sie auch auf das Klicken reagieren. Soviel ich gelesen habe, ist dazu
eine Klasse erforderlich, damit kenne ich mich aber nicht aus.
Wer kann mir dabei mit einem Code aushelfen?
Grüße Holger

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Klasse für Label?
10.08.2006 19:45:45
Holger
Hallo ransi,
habe gerade rausgefunden, dass zur Laufzeit erstellte Label in Klassen nicht
unterstützt werden. Danke für den Link.
Grüße Holger
AW: Klasse für Label?
10.08.2006 23:01:16
Nepumuk
Servus Sepp,
das habe ich mich auch gerade gefragt und eine kleine Mustemappe gemacht.
Aber du bist der Mann der schneller postet als sein Schatten. :-))
Gruß
Max
Anzeige
Schneller als mein Schatten..
10.08.2006 23:09:38
Josef
Hi Max!
... bin ich nicht, hatte nur die Mappe früher mal gebastellt.
Weis gar nicht mehr warum ;-)
Gruß Sepp

AW: Klasse für Label?
10.08.2006 23:05:39
bst
Auch Hallo,
zu spät :-(
Aber da ich mir die Mühe schon gemacht habe ...
cu, Bernd
--
In ein beliebiges Modul:
Option Explicit

Public Const myLabelCount As Integer = 5

Public myLabelArray(myLabelCount) As myLabel

Public Sub ShowLabelArray()
    UserForm1.Show
End Sub

Ins Klassenmodul der Userform1:
Option Explicit

Private Sub UserForm_Initialize()
    Dim intIndex As Integer, lbl As MSForms.Label
    
    For intIndex = 1 To myLabelCount
        Set lbl = Controls.Add("Forms.Label.1", "Label" & intIndex)
        lbl.Left = 10
        lbl.Top = 20 * intIndex
        lbl.Caption = "Label" & CStr(intIndex)
    
        Set myLabelArray(intIndex) = New myLabel
        Set myLabelArray(intIndex).myLabel = lbl
    Next
End Sub

Private Sub UserForm_Terminate()
    Dim intIndex As Integer
    
    For intIndex = 1 To myLabelCount
        Set myLabelArray(intIndex) = Nothing
    Next
End Sub

In die Klasse mit dem Namen myLabel:
Option Explicit

Public WithEvents myLabel As MSForms.Label

Private Sub myLabel_Click()
    MsgBox myLabel.Caption, , "Gedrückt wurde:"
End Sub


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige