Sichtbarkeit einer Schaltfläche
#1
Sehr geehrtes Forum,

ich habe vor ein paar Tagen damit angefangen mich mit Excel auseinander zusetzen und bin bisher noch schlecht.
Ich habe mir ein Multiple Choice Quiz erstellt, dieses kann man Auswerten lassen, nachdem man das getan hat, ist es möglich einen Knopf zu drücken,
der die gesetzen Häkchen aus den Kästchen wieder löscht, sodass man das Quiz von vorne beginnen kann.


Die Knöpfe sind sogenannte  Schaltflächen, diesen habe ich Makros zugewiesen, damit sie die Aktionen durchführen.

Wenn in Zelle P2 nun "ja" steht, dann soll die Schaltfläche die dafür zuständig ist die Häkchen zu löschen erst sichtbar werden.

Die Schaltfläche trägt den Namen (von mir so genannt) "CommandButton1" , damit meine ich nicht den Textinhalt, sondern wirklich die Bezeichnung der Schaltfläche.
Mit dieser Bezeichnung wollte ich nun einen Code schreiben.

Meine erste Frage ist, wo genau muss dieser Code überhaupt geschrieben werden , einfach mit in den Makro für den Knopf, wo schon die Aufgabe hinterlegt ist, oder irgendwo anders hin ?
Die Makro wird meiner Meinung ja nur ausgelöst, wenn der Knopf verwendet wird, also macht das eigentlich ja nicht viel Sinn das dort mit reinzuschreiben.

Vielleicht stimmt mein Code wenigstens:

Sub Sichtbarkeit

If [p2] = "ja" Then
CommandButton1.Visible = true
Else
CommandButton1.Visible = false
End if

End Sub

Ich hoffe ich hab mich klar genug ausgedrückt was ich will und hoffe dass ihr mir helfen könnt.

Mit freundlichen Grüßen
Eric Eichstädt
Top
#2
Hallo,

Also unten zeige ich Dir mal Deinen ersten Fehler.
Zitat:Sub Sichtbarkeit ()

aber auch mit dem Rest wirst Du nicht sehr glücklich werden.
Ich muß jetzt erst mal einen Termin wahrnehmen, dann melde ich mich wieder.
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Eric Eichstaedt
Top
#3
Hallo Eric

Wenn du in Zelle P2 das "Ja" etc. händisch eingibst dann
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("P2")) Is Nothing Then Exit Sub
        If [P2] = "ja" Then
            CommandButton1.Visible = True
        Else
            CommandButton1.Visible = False
        End If
End Sub

Mfg Guschti
Der Künstler lebt auch vom Applaus
Excel Optimaler Zuschnitt von Stangen/Balken - YouTube
[-] Folgende(r) 1 Nutzer sagt Danke an Guschti für diesen Beitrag:
  • Eric Eichstaedt
Top
#4
Moin!
Ähnlich wie im anderen Thread, wo ich Dir einen Tipp bzgl. der Vereinfachung gegeben habe:
Als Excel-Anfänger solltest Du Dich zunächst damit vertraut machen, dass Excel zunächst mal eine Kalkulation ist!
Es gibt unfassbar viele Varianten (basierend auf simpler Logik und "eingebauten" Methoden und Formeln), ein "hübsches" Multiple Choice Quiz zu basteln.

VBA gehört (erst mal) definitiv nicht dazu!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Eric Eichstaedt
Top
#5
Vielen Dank erstmal für eure Antworten!


Bisher habe ich nur mit Makros gearbeitet die ich einer Schaltfläche zugewiesen habe, sprich ich drücke den Knopf dann wird das was ich geschrieben hab ausgeführt (in den meisten Fällen nicht das was ich will :D)
Jetzt soll es ja sozusagen "immer" gelten, nicht nur wenn man einen Knopf drückt.
Im VBA habe ich mir für die Makros der Buttons immer Module erstellt.
Das macht für mein Vorhaben jetzt keinen Sinn mehr oder ?
Wo muss ich den Code reinschreiben ?


Mit freundlichen Grüßen
Eric
Top
#6
Hallo Eric,

Guschti hat Dir ein sogenanntes Ereignismakro gepostet. Dieses reagiert auf Änderungen in dem Blatt, wo es im entsprechenden Codemodul steht - z.B. bei Tabelle1.

Es gibt dann auch noch andere Ereignisse, auf die man reagieren kann, das hast Du im Codemodul oben rechts in der Auswahlbox.

Es gibt auch in DieseArbeitsmappe Ereignisse, auf die man reagieren kann.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste