Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Erstellen eines Labels durch Button

Erstellen eines Labels durch Button
05.08.2014 13:41:09
Knoof
Hallo,
Ich habe in meiner UserForm1 einen Button.
Durch klicken dieses Buttons wird ein Label erstellt.
Meine UserForm Oberfläche besteht aus einer großen MultiPage auf der sich alles befindet.
Das Problem besteht darin dass das erstellte Label hinter der MultiPage auftaucht und nicht auf der MultiPage, dadurch ist das Label nicht zu sehen.
Wie kriege ich es hin dass das Label auf meiner MultiPage erschein?
Private Sub CommandButton10_Click()
Dim lbl As MSForms.Label
Set lbl = Me.Controls.Add("Forms.Label.1")
With lbl
.Top = 10
.Left = 5
.Height = 20
.Width = 40
.Caption = InputBox("Bitte einen Namen eingeben!", "Eingabeaufforderung")
.ForeColor = &H8000&
End With
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erstellen eines Labels durch Button
05.08.2014 14:17:59
Hajo_Zi

Option Explicit
Private Sub CommandButton1_Click()
Dim lbl As MSForms.Label
Set lbl = Me.MultiPage1(1).Controls.Add("Forms.Label.1")
With lbl
.Top = 10
.Left = 5
.Height = 20
.Width = 40
.Caption = InputBox("Bitte einen Namen eingeben!", "Eingabeaufforderung")
.ForeColor = &H8000&
End With
End Sub

Anzeige
AW: Erstellen eines Labels durch Button
06.08.2014 11:43:54
Knoof
klappt wunderbar, danke!
Das Label erschein nun an gewünschter position, nun soll es dort auch bleiben, auch nach schließen des Programm. Kann ich es nach erstellen auch dort per makro speichern, sodass es nicht verschwindet?
Gruß
Knoof

AW: Erstellen eines Labels durch Button
06.08.2014 11:45:46
Hajo_Zi
Nein, warum erstellst Du es nicht per Hand, wie vorgeschlagen.
Gruß Hajo

Anzeige
AW: Erstellen eines Labels durch Button
06.08.2014 12:37:44
Knoof
Also es geht darum dass der User die Möglichkeit hat selber Labels zu erstellen.
Es sind schon ein paar Labels von mir erstellt worden welche auch Fest bleiben sollen. Allerdings soll der User die Möglichkeit haben zu den schon vorhandenen Labels noch individuelle Labels hinzu zu fügen.
Vorerst wollte ich das mit einem Textfeld Lösen wo der User dann etwas eingeben kann, allerdings wird ja in einer Textbox auch nichts gespeichert.
Dann dachte ich das erstellte Labels halt bleiben, aber wenn das auch nicht geht, dann bin ich mit den Ideen am ende :/
Gruß,
Knoof

Anzeige
AW: Erstellen eines Labels durch Button
06.08.2014 12:40:16
Hajo_Zi
Du kannst auch TextBox speichern. Du hast ja schon für das Label eine Klasse gemacht, die musst Du dann nur auf TextBox erweitern.
Gruß Hajo

AW: Erstellen eines Labels durch Button
06.08.2014 12:49:38
Knoof
Also um mein Vorhaben mal näher zu erläutern.
Hier "Talle" ist schon ein vorgefertigtes Label welches auch bleibt. Falls der User nun eine weitere "Idee" hat kann er mit "Bereich hinzufügen" seine Idee als Label einfügen, dieses soll dann auch bleiben.
Wenn ich anstelle des Labels dort eine Textbox einfüge, kann der User zwar seine Idee dort eingeben, jedoch ist der Inhalt nach neustart der UserForm ebenfalls gelöscht.
Userbild
Userbild
Gruß,
Knoof

Anzeige
AW: Erstellen eines Labels durch Button
05.08.2014 14:38:22
Daniel
Hi
erstlle das Label "normal" und platziere es auf der gewünschten Multipageseite.
setze die Eigenschaft "Visible" in der Eigenschaftsliste auf False.
Beim Start der Userform ist dieses Label dann nicht sichtbar.
im Buttonmakro brauchst du dann nur noch die .Visible-Eigenschaft auf TRUE zu setzen.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Labels durch Buttons in Excel VBA erstellen


Schritt-für-Schritt-Anleitung

Um ein Label in einer UserForm mit Excel VBA zu erstellen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Erstelle eine UserForm: Öffne den VBA-Editor (Alt + F11) und füge eine neue UserForm hinzu.

  2. Füge eine MultiPage hinzu: Ziehe eine MultiPage-Steuerelement auf die UserForm.

  3. Füge einen Button hinzu: Platziere einen CommandButton auf der UserForm.

  4. VBA-Code für den Button: Füge den folgenden Code in das Click-Ereignis des Buttons ein:

    Private Sub CommandButton1_Click()
        Dim lbl As MSForms.Label
        Set lbl = Me.MultiPage1(1).Controls.Add("Forms.Label.1")
        With lbl
            .Top = 10
            .Left = 5
            .Height = 20
            .Width = 100
            .Caption = InputBox("Bitte einen Namen eingeben!", "Eingabeaufforderung")
            .ForeColor = &H8000&
        End With
    End Sub
  5. Teste die UserForm: Starte die UserForm und klicke auf den Button, um dein eigenes Label zu erstellen.


Häufige Fehler und Lösungen

  • Label erscheint hinter der MultiPage: Stelle sicher, dass du das Label im richtigen MultiPage-Index erstellst. Nutze Set lbl = Me.MultiPage1(1).Controls.Add("Forms.Label.1"), um es auf der gewünschten Seite zu platzieren.

  • Label verschwindet nach Neustart: Wenn du möchtest, dass das Label nach dem Schließen der UserForm bestehen bleibt, musst du es in einer Collection oder in einer Datenstruktur speichern, bevor du die UserForm schließt.


Alternative Methoden

Eine alternative Methode, um eigene Labels zu erstellen, ist die Verwendung von TextBoxen. Hier ist ein einfacher Code, um eine TextBox hinzuzufügen:

Private Sub CommandButton1_Click()
    Dim txt As MSForms.TextBox
    Set txt = Me.MultiPage1(1).Controls.Add("Forms.TextBox.1")
    With txt
        .Top = 10
        .Left = 5
        .Height = 20
        .Width = 100
        .Text = InputBox("Bitte Text eingeben:", "Eingabeaufforderung")
    End With
End Sub

Praktische Beispiele

  1. Kombination von Labels und TextBoxen: Du kannst ein Label neben einer TextBox platzieren, um dem Benutzer zu helfen, die Eingabe besser zu verstehen.

  2. Visuelle Anpassungen: Ändere die Eigenschaften des Labels wie Schriftart, Hintergrundfarbe oder Rahmen, um die Benutzeroberfläche ansprechender zu gestalten.


Tipps für Profis

  • Verwendung von Klassen: Erstelle eine Klasse für deine Labels, um die Verwaltung und das Erstellen von Labels in deiner Anwendung zu vereinfachen.

  • Speichere Label-Eigenschaften: Nutze eine Datenbank oder eine Excel-Tabelle, um die Eigenschaften der Labels (z. B. Position, Text) zu speichern, sodass du sie beim nächsten Start wiederherstellen kannst.


FAQ: Häufige Fragen

1. Frage
Wie kann ich die Sichtbarkeit eines Labels steuern?
Du kannst die Visible-Eigenschaft des Labels auf False setzen, um es beim Laden der UserForm auszublenden und es bei Bedarf über das Button-Makro wieder sichtbar machen.

2. Frage
Kann ich mehrere Labels gleichzeitig erstellen?
Ja, du kannst eine Schleife verwenden, um mehrere Labels in einem Rutsch zu erstellen. Nutze die For-Schleife, um die gewünschten Labels zu generieren.

3. Frage
Wie speichere ich die Labels, die der Benutzer erstellt hat?
Du kannst die Label-Daten in einer Collection oder in einer Excel-Tabelle speichern und beim Laden der UserForm wiederherstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige