Wie kann ich ein Textfeld in einer Excel Tabelle per Klick auf einen Button ein und wieder ausblenden?

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:

Bild zum Beitrag

Code ins Modul:

Bild zum Beitrag

Den Button mit dem Makro belegen:

Bild zum Beitrag

oder einfach über Makros ausführen:

Bild zum Beitrag

Woher ich das weiß:eigene Erfahrung – Bei einer Frage ist Danke ein obligates Zeichen von Respekt
 - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)

lotte949799 
Beitragsersteller
 08.06.2021, 15:33

@Albin1990 Spitze, vielen Dank das hat auch super funktioniert! :)

1
Homerjay1991  07.07.2021, 12:49

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

0
Albin1990  08.07.2021, 20:39
@Homerjay1991

Ich würd das ganze mit einer Userform machen.

Bilder geb ich oben rein.

0

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.

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

Woher ich das weiß:eigene Erfahrung – Bei einer Frage ist Danke ein obligates Zeichen von Respekt
 - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)  - (Computer, Microsoft Excel, Textfeld)

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.


lotte949799 
Beitragsersteller
 08.06.2021, 13:41

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.

0
DanKirpan  08.06.2021, 13:49
@lotte949799

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.

0
lotte949799 
Beitragsersteller
 08.06.2021, 14:24
@DanKirpan

@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?

0
DanKirpan  08.06.2021, 14:30
@lotte949799

Wie gesagt dafür kann man den Makrorekorder ausnutzen:

  1. Über Registerkarte Entwicklertools -> "Makro aufzchn. " starten
  2. Textfeld anklicken
  3. Aufzeichnung beenden
  4. 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
0
lotte949799 
Beitragsersteller
 08.06.2021, 14:34
@DanKirpan

Wahnsinn! Es hat geklappt! Vielen Dank für deine Hilfe :D

0