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

Forumthread: Ein-/Ausblenden von Textboxen mittels Checkboxen

Ein-/Ausblenden von Textboxen mittels Checkboxen
14.06.2013 23:00:04
Textboxen
Hallo,
ich hoffe, dass mir jemand mit meinem Problem helfen kann. Ich habe schon überall gesucht, aber keine Lösung gefunden. Meine VBA Kenntnisse sind aber auch eher beschränkt.
Also folgende Situation.
Ich habe in einem Tabellenblatt untereinander 9 Checkboxen. Jedensmal, wenn davon eine angeklickt wird, soll sich darunter eine Textbox öffnen. Die Checkboxen, die dahinter sind, müssen also nach hinten verschoben werden. ( Ich habe mittels VBA drei Zeilen eingefügt und dann in dem neu geschaffenen Platz die Textbox eingefügt).
Wenn ich aus einer Checkbox den Haken wieder rausnehme, dann soll die zugehörige Textbox auch wieder geblendet werden (es müssen dann auch die Zeilen wieder entfernt werden). Am besten sollte aber der Text, der in die Textbox geschrieben wurde, trotzdem gespeichert werden und beim erneuten anklicken wieder in der Textbox stehen.
Leider habe ich es nur so hinbekommen, dass das ganze nur funktioniert, wenn ich Checkbox 1 bis 9 alle der Reihenfolge nach anklicke und dann widerrum in der Reihenfolge 9 bis 1 die Haken rausnehme.
Die Ganze Sache muss aber unabhängig von der Reihenfolge funktionieren. Das heißt wenn ich Checkbox 1 klicke, kommt die Textbox. Wenn ich dann nummer 2 und 3 nicht anklicke, dafür aber die 4, kommt nach der 4ten wieder eine Textbox.
Gibt es dafür irgendeinen Code? Ich habe das mit insgesamt 9 If-formel gemacht. Aber meine Lösung ist so auch nicht richtig. Hat jemand einen Hinweis, wie ich die Kuh vom Eis kriege?
Vielen Dank!!

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ein-/Ausblenden von Textboxen mittels Checkboxen
14.06.2013 23:40:12
Textboxen
Hallo,
als Ansatz:
Private Sub CheckBox1_Click()
With TextBox1
.Visible = CheckBox1
.TopLeftCell.Resize(3).EntireRow.Hidden = Not CheckBox1
End With
End Sub

Gruß
Rudi

AW: Ein-/Ausblenden von Textboxen mittels Checkboxen
15.06.2013 09:17:13
Textboxen
Hallo, vielen Dank für die Antwort.
Ich werds gleich testen, wenn ich wieder auf Excel inklusive VBA zugreifen kann. Ich hab zu Hause nur so ne doofe Starter Version die das nicht kann. Daher konnt ich meinen Code auch nicht posten..
Wobei mir der code irgendwie zu einfach aussieht;-)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ein-/Ausblenden von Textboxen mittels Checkboxen in Excel


Schritt-für-Schritt-Anleitung

  1. Checkboxen erstellen: Füge 9 Checkboxen in dein Excel-Blatt ein. Du findest diese unter dem Reiter "Entwicklertools". Aktiviere die Entwicklertools, falls sie nicht sichtbar sind.

  2. Textboxen hinzufügen: Platziere unter jeder Checkbox eine Textbox. Diese werden sichtbar, wenn die entsprechende Checkbox aktiviert wird.

  3. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. Code einfügen: Füge den folgenden Code für jede Checkbox ein. Dieser Code blendet die Textbox ein und aus, wenn die Checkbox angeklickt wird:

    Private Sub CheckBox1_Click()
       With TextBox1
           .Visible = CheckBox1.Value
           .TopLeftCell.Resize(3).EntireRow.Hidden = Not CheckBox1.Value
       End With
    End Sub
  5. Speichern des Textes: Um den Text in der Textbox zu speichern, kannst du eine globale Variable nutzen oder den Inhalt in eine Zelle speichern. Hier ein Beispiel:

    Private Sub CheckBox1_Click()
       With TextBox1
           .Visible = CheckBox1.Value
           If CheckBox1.Value Then
               .TopLeftCell.Resize(3).EntireRow.Hidden = False
           Else
               .TopLeftCell.Resize(3).EntireRow.Hidden = True
               ' Speichere den Text in der Zelle A1
               Range("A1").Value = .Text
           End If
       End With
    End Sub
  6. Wiederherstellen des Textes: Füge den Code hinzu, um den Text wieder in die Textbox zu laden, wenn die Checkbox erneut aktiviert wird.


Häufige Fehler und Lösungen

  • Fehler: Die Textbox wird nicht angezeigt, wenn die Checkbox aktiviert wird.

    • Lösung: Stelle sicher, dass der Name der Textbox im Code korrekt ist und die Checkbox-Referenz stimmt.
  • Fehler: Der Text in der Textbox wird nicht gespeichert.

    • Lösung: Überprüfe, ob der Code zum Speichern des Textes in der richtigen Subroutine (Checkbox-Click) platziert ist.

Alternative Methoden

Wenn VBA nicht deine bevorzugte Methode ist, kannst du auch die Formeln in Excel verwenden, um Inhalte dynamisch anzuzeigen. Das erfordert jedoch eine andere Herangehensweise und ist nicht so flexibel wie das Verwenden von Checkboxen und VBA.


Praktische Beispiele

Angenommen, du hast Checkbox 1 mit TextBox1 verknüpft. Wenn du Checkbox 1 aktivierst, erscheint TextBox1, und die Zeilen unterhalb werden sichtbar. Der Text, den du in die Textbox eingibst, wird in der Zelle A1 gespeichert, wenn du die Checkbox deaktivierst.


Tipps für Profis

  • Nutze Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind.
  • Erstelle eine Funktion, die für alle Checkboxen und Textboxen verwendet werden kann, um den Code sauberer und wartungsfreundlicher zu gestalten.
  • Teste den Code regelmäßig, um sicherzustellen, dass alles wie gewünscht funktioniert, insbesondere nach Änderungen.

FAQ: Häufige Fragen

1. Was mache ich, wenn die Checkboxen nicht reagieren?
Überprüfe, ob die Entwicklertools aktiviert sind und dass der VBA-Code korrekt in der richtigen Subroutine platziert ist.

2. Kann ich die Textboxen auch ohne VBA ein-/ausblenden?
Ja, du kannst das Sichtbarkeitsverhalten auch über Formeln steuern, wobei dies jedoch weniger flexibel ist als mit VBA.

3. Funktioniert das in allen Excel-Versionen?
Der VBA-Code sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren, solange die Entwicklertools aktiviert sind.

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