Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Optionbutton NICHT aktivieren
#1
PHP-Code:
Private Sub OptionButton4_Click() 
 
    Call Change_Tool
     Range
("A3").EntireRow.Hidden True           'Ausblenden
     Range("A14:A16").EntireRow.Hidden = False     '
Einblenden
     Range
("B2") = "F"
 
    Range("C4").Select
End Sub 

PHP-Code:
Private Sub Change_Tool() 'Aktuelle Werte sichern im Blatt LAST
Meldung = MsgBox("Durch die Änderung der Bearbeitung werden die aktuellen Werte gesichert." & vbNewLine & _
                   "" & vbNewLine & _
                   "Anschließend werden die Zellen gelöscht für neue Berechnungen." & vbNewLine & _
                   "Diesen Vorgang kann man nicht rückgängig machen." & vbNewLine & _
                   "Die zuvor gesicherten Werte werden überschrieben.", vbYesNo, "Aktuelle Werte sichern")
    If Meldung = vbNo Then
       Exit Sub
     ElseIf Meldung = vbYes Then
       For x = 1 To 16
           Worksheets("Last").Cells(x, 3) = Worksheets("Schnittdaten").Cells(x, 3) 
       Next x 

Folgender Ablauf:
Der OptionButton 1 ist aktiv. Jetzt klicke ich auf den OptionButton 4.
Wenn ich nun in der Sub Change_Tool die Meldung mit NEIN bestätige, wird dennoch der OptionButton 4 auf Value = True gesetzt.
Ich möchte aber, dass bei NEIN der OptionButton 1 aktiv bleibt, also nichts passiert.

Ich habe auch das vbYesNoCancel mal probiert, aber auch bei Klick auf Abbrechen wird dennoch der OB 4 auf True gesetzt.
Wie kann man das machen, dass bei NEIN nichts passiert?
Antworten Top
#2
Hallo, :19:

dann schreibe es so: :21:

Code:
If Meldung = vbNo Then
    Me.OptionButton4.Value = False
    Exit Sub

Wenn es nicht klappt - Beispieldatei hochladen. Exclamation
________
Servus
Case
Antworten Top
#3
Guten Morgen,

ich habe es mal so eingesetzt.
Das funktioniert jetzt erstmal gut, aber dafür ist jetzt KEIN Optionbutton mehr auf TRUE.

Eigentlich müsste der OB 1 sichtbar aktiviert bleiben.
Aber durch Klick auf den OB 4, auch wenn ich dann NEIN sage,
bedeutet es, dass der OB 1 seinen Status TRUE verloren hat.

Ich habe insgesamt 6 OB.
Wie kann ich beim Verlassen des gerade aktiven OB durch Klick auf einen anderen OB
und der Antwort NEIN, es hinbekommen,
dass der zuletzt aktive OB auch aktiv bleibt?

Hast du dafür auch eine Idee?

Gruß Achim
Antworten Top
#4
Hallo, :19:

wie gesagt - lade eine Beispieldatei hoch und erkläre was, wann, wo passieren soll, bzw. nicht passieren soll. :21:
________
Servus
Case
Antworten Top
#5
Auch Hallo,

mal ein umständlicher Weg, wie es gehen könnte.

Code:
Option Explicit
Private bolYesNo As Boolean
Private objAktiv As Object


Private Sub OptionButton1_Click()
If Not bolYesNo Then Call prcAchim
End Sub


Private Sub OptionButton2_Click()
If Not bolYesNo Then Call prcAchim
End Sub


Private Sub OptionButton3_Click()
If Not bolYesNo Then Call prcAchim
End Sub

Sub prcAchim()
  Dim Meldung As Variant

  Meldung = MsgBox("Durch die Änderung der Bearbeitung werden die aktuellen Werte gesichert." & vbNewLine & _
              "" & vbNewLine & _
              "Anschließend werden die Zellen gelöscht für neue Berechnungen." & vbNewLine & _
              "Diesen Vorgang kann man nicht rückgängig machen." & vbNewLine & _
              "Die zuvor gesicherten Werte werden überschrieben.", vbYesNo, "Aktuelle Werte sichern")
  If Meldung = vbNo Then
     bolYesNo = True
     objAktiv.Value = True
     bolYesNo = False
     Exit Sub
  Else
     Set objAktiv = ActiveControl
  End If
End Sub


Private Sub UserForm_Initialize()
  bolYesNo = True
  OptionButton1 = True
  Set objAktiv = OptionButton1
  bolYesNo = False
End Sub

Eigentlich sollte es dem Anwender bewußt sein, was er auslöst, wenn er einen Optionbutton auswählt.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#6
Hallo Stefan,

ich habe es nicht umsetzen können.
Weiter unten steht eine Sub für eine Userform.
In dieser kleinen Datei habe ich keine Userform.
Huh  Huh  Huh
Antworten Top
#7
Hallo Achim,

Case hat dich ja schon gebeten, eine Beispieldatei hier hoch zuladen. Dem kann ich mich nur anschließen.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#8
Ich habe mein kleines Programm komplett umgebaut, so dass es jetzt ohne OB geht.
Dennoch vielen Dank für die Tipps und Hilfen.
Wünsche allen ein schönes Weekend.
Gruß Achim
Antworten Top
#9
@case

Die Antwort war:
Statt

Code:
If Meldung = vbNo Then
    Me.OptionButton4.Value = False
    Exit Sub

Code:
OptionButton4.Value = Meldung = vbYes
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


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