Wie kann ich ein Textfeld in einer Excel Tabelle per Klick auf einen Button ein und wieder ausblenden?
Hallo zusammen,
ich komm hier einfach nicht weiter. Ich habe in einer Excel Datei oberhalb einer Pivot-Tabelle ein Textfeld erstellt, in dem ich Abkürzungen, die ich in der Tabelle verwendet habe, erläutere.
Ich möchte das Textfeld aber nicht dauerhaft dort stehen haben, sondern mit Hilfe einer Schaltfläche ein- und wieder ausblenden. Also beim ersten Klick auf die Schaltfläche soll das Textfeld erscheinen und beim nächsten Klick wieder ausgeblendet werden. Ich finde zwar viele Tutorials zu dem Thema, aber leider keines, das mir bei meinem Problem direkt weiterhilft.
Vielleicht kennt sich ja hier jemand besser aus :)
LG,
lotte
3 Antworten
Hallo
Neben der Userform kannst du auch eine beliebige Form mit dem Makro belegen. (Oder einfach den Code über die Makros ausführen)
Der Code wird dann nach dem Drücken ausgeführt.
Dazu den Code in ein Modul einfügen und das Makro der Form zuweisen.
Sub ein_ausblenden()
With Tabelle1.Shapes.Range(Array("TextBox 1"))
If .Visible = True Then
.Visible = False
Else
.Visible = True
End If
End With
End Sub
Modul einfügen:
Code ins Modul:
Den Button mit dem Makro belegen:
oder einfach über Makros ausführen:








Hi, ich bin auch nach der suche nach so einer Möglichkeit. das hast du ja echt klasse hinbekommen. :) Wie gehe ich aber vor, wenn ich einen 2. Button oder sogar 3. haben möchte die jeweils alle anderen Textfelder ausblenden und nur das eigene Textfeld des Buttons einblenden? Also Bsp Button 2 blendet Textfeld 1und 3 aus und Textfeld 2 Ein. Ist sowas überhaupt möglich?? Vielen Dank schon mal. und beste grüße
Ich habe schon eine Antwort erstellt... Da ich diese nicht mehr bearbeiten kann, geb ich hier meine Lösungsansatz für mehrere Textfelder ein:
Update 08.07.21:
Für die Version mit mehreren Textfeldern:
Erstellt eine Userform.
Mit dem ein- ausblenden Button wird die Userform geöffnet. In dieser kann ich dann auswählen, welche Textfelder ich öffnen oder schließen möchte.





Hallo,
meinst du es so:
Private Sub CommandButton1_Click()
If ActiveSheet.Shapes.Range(Array("TextBox 1")).Visible = True Then
ActiveSheet.Shapes.Range(Array("TextBox 1")).Visible = False
Else
ActiveSheet.Shapes.Range(Array("TextBox 1")).Visible = True
End If
End Sub
Falls das Textfeld bei dir anders angesprochen werden muss, kannst du das über den Makrorekorder herausfinden indem du es selektierst.
Mit diesem Code passiert bei mir leider gar nichts. Hast du eine UserForm benutzt oder ein Modul? Ich lerne mir diese ganze Thematik grade erst an, daher bin ich da noch sehr unbeholfen.
Eine Userform, genauer das ActiveX-Steuerelement "Befehlsschaltfläche" und den Code über Rechtsklick->Code anzeigen eingefügt.
Finde die Userformen selbst noch verwirrend, Formularsteuerelemente (die du vermutlich meintest) habe ich selbst noch nie verwendet.
@DanKirpan okay, das mit der Befehlsschaltfläche hab ich soweit gefunden und den Code auch eingegeben. Kannst du mir nochmal ganz einfach erklären, wo ich sehen kann wie ich das Textfeld ansprechen muss?
Wie gesagt dafür kann man den Makrorekorder ausnutzen:
- Über Registerkarte Entwicklertools -> "Makro aufzchn. " starten
- Textfeld anklicken
- Aufzeichnung beenden
- den Code des soeben aufgenommenen Makros ansehen
Das sollte dann ca so aussehen. Der Teil vor dem .Select ist der Teil über den du das Textfeld ansprechen kannst.
Sub Makro1()
'
' Makro1 Makro
'
'
ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
End Sub
Wahnsinn! Es hat geklappt! Vielen Dank für deine Hilfe :D
@Albin1990 Spitze, vielen Dank das hat auch super funktioniert! :)