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

UF - Gibt es Schreibschutz für Textboxen?

Forumthread: UF - Gibt es Schreibschutz für Textboxen?

UF - Gibt es Schreibschutz für Textboxen?
10.03.2004 11:38:50
Michi
Hallo Ihr Lieben,
hätte mal wieder eine Frage, gibt es in einer Userform Schreibschutzmöglichkeiten für Textboxen?
Nach Betätigung eines Buttons (Bearbeiten) soll der Schreibschutz aufgehoben und nach Speichern wieder gesetzt werden. Ist es auch möglich, daß bei sich der Bearbeitung die Hintergrundfarbe und der SpecialEffect ändert?
Hat jemand einen Vorschlag?
Gruß Michi
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF - Gibt es Schreibschutz für Textboxen?
10.03.2004 11:47:42
Bert
Textboxen haben eine Locked- Eigenschaft.
Bert
AW: UF - Gibt es Schreibschutz für Textboxen?
10.03.2004 11:48:06
Jens
Hi
Du kannst die Eigenschaften der Textboxen ändern.
TextboxX.Enabled = False -> keine Einträge möglich
TextboxX.Enabled = True-> Einträge möglich
TextboxX.Backcolor = RGB(0,100,0) -> Farbe einstellen des Hintergrundes.
Tipp: Rechtsklick auf die Textbox und mal die Eigenschaften anschauen.
Gruß Jens
Anzeige
AW: UF - Gibt es Schreibschutz für Textboxen?
10.03.2004 11:54:39
Michi
Hallo Jens,
vielen Dank für die Tips, so was ähnliches hab ich mir schon gedacht. Wenn ich aber jetzt mehrere Textboxen habe und alle von Schreibgeschützt auf Freigeschalten ändern möchte, kann ich diese in einer Art Array zusammenfassen oder muß ich jede Textbox extra freischalten?
Lieben Gruß Michi
Anzeige
;
Anzeige

Infobox / Tutorial

Schreibschutz für Textboxen in Excel UserForms


Schritt-für-Schritt-Anleitung

Um einen Schreibschutz für Textboxen in einer UserForm zu implementieren, kannst Du die folgenden Schritte befolgen:

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

  2. Füge Textboxen hinzu: Platziere die gewünschten Textboxen auf der UserForm.

  3. Füge einen Button für das Bearbeiten hinzu: Erstelle einen Button, der den Schreibschutz aufhebt.

  4. Code für den Button hinzufügen: Doppelklicke auf den Button und füge den folgenden Code ein:

    Private Sub btnBearbeiten_Click()
        TextBox1.Enabled = True
        TextBox1.BackColor = RGB(0, 100, 0) ' Hintergrundfarbe ändern
        ' Wiederhole dies für weitere Textboxen
    End Sub
  5. Speichern-Button hinzufügen: Erstelle einen weiteren Button, um die Änderungen zu speichern und den Schreibschutz wiederherzustellen.

  6. Code für den Speichern-Button hinzufügen: Füge den folgenden Code ein:

    Private Sub btnSpeichern_Click()
        TextBox1.Enabled = False
        TextBox1.BackColor = RGB(255, 255, 255) ' Hintergrundfarbe zurücksetzen
        ' Wiederhole dies für weitere Textboxen
    End Sub

Häufige Fehler und Lösungen

  • Textbox bleibt aktiv: Stelle sicher, dass Du den .Enabled-Status korrekt änderst. Wenn der Schreibschutz nicht funktioniert, überprüfe, ob der Code in der richtigen Subroutine ist.

  • Hintergrundfarbe ändert sich nicht: Achte darauf, dass Du das RGB-Format richtig verwendest. Ein Fehler in den Farbwerten kann dazu führen, dass die Farbe nicht wie gewünscht geändert wird.


Alternative Methoden

Eine alternative Methode, um mehrere Textboxen gleichzeitig zu bearbeiten, ist die Verwendung eines Arrays:

Private Sub btnBearbeiten_Click()
    Dim textboxes As Variant
    textboxes = Array(TextBox1, TextBox2, TextBox3) ' Füge weitere Textboxen hinzu

    Dim i As Integer
    For i = LBound(textboxes) To UBound(textboxes)
        textboxes(i).Enabled = True
        textboxes(i).BackColor = RGB(0, 100, 0)
    Next i
End Sub

Private Sub btnSpeichern_Click()
    Dim textboxes As Variant
    textboxes = Array(TextBox1, TextBox2, TextBox3) ' Füge weitere Textboxen hinzu

    Dim i As Integer
    For i = LBound(textboxes) To UBound(textboxes)
        textboxes(i).Enabled = False
        textboxes(i).BackColor = RGB(255, 255, 255)
    Next i
End Sub

Praktische Beispiele

Angenommen, Du hast eine UserForm mit drei Textboxen, die Du bearbeiten möchtest. Mit dem obigen Code kannst Du die Textboxen aktivieren oder deaktivieren, abhängig davon, ob Du sie bearbeiten oder speichern möchtest.

Wenn Du eine UserForm für die Eingabe von Kundendaten hast, kannst Du sicherstellen, dass die Benutzer nur dann Änderungen vornehmen können, wenn sie auf "Bearbeiten" klicken.


Tipps für Profis

  • Verwende benutzerdefinierte Eigenschaften: Du kannst die Eigenschaften der Textboxen weiter anpassen, um das Benutzererlebnis zu verbessern.

  • Verwende Ereignisse: Nutze Ereignisse wie GotFocus und LostFocus, um die Textboxen weiter zu steuern und Feedback zu geben, wenn der Benutzer sie auswählt oder verlässt.


FAQ: Häufige Fragen

1. Kann ich den Schreibschutz für alle Textboxen gleichzeitig aktivieren?
Ja, Du kannst alle Textboxen in einem Array zusammenfassen und deren Eigenschaften in einer Schleife ändern.

2. Was mache ich, wenn die Hintergrundeinstellungen nicht funktionieren?
Überprüfe, ob Du das RGB-Format korrekt verwendest und dass der Code in der richtigen Subroutine steht.

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