Anzeige
Archiv - Navigation
1524to1528
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code im Optionsbutton. Geht Verbesserung?

Code im Optionsbutton. Geht Verbesserung?
28.11.2016 18:17:09
Dieter(Drummer)
Guten Abend VBA Spezialisten,
in der Beispieldatei (anbei) ist eine Userform mit Optionsbutton1. Der Entsprechende Code funktioniert wie gewünscht und einwandfrei. Kann der Code verbessert/gekürzt werden? Hier der Code und die Datei:
  • 
    Private Sub OptionButton1_Click()
    'Application.ScreenUpdating = False
    If MsgBox("Datei öffnen?", vbYesNo + vbDefaultButton2 + 32, "Datei öffnen") = vbYes Then
    Label1.Visible = True 'Label1 wird eingeblendet/aktiviert "grüner Haken"
    Workbooks.Open Filename:= _
    "C:\G...\M...\Fxyz.xlsm"
    OptionButton1.Value = False 'Button1, Aktivierung wird ausgeschaltet
    Else
    Unload Me 'Beendet die aktive Userform
    End If
    'Application.ScreenUpdating = true
    End Sub
    

  • https://www.herber.de/bbs/user/109766.xlsm
    Gruß, Dieter(Drummer)

    9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    ja, warum ?
    28.11.2016 18:32:36
    robert
    na weil er es wissen möchte, robert ... owT
    28.11.2016 18:45:18
    Matthias
    AW: Danke Matthias L ... so ist es ...
    28.11.2016 18:56:55
    Dieter(Drummer)
    ... man lernt ja nie aus ...
    Gruß, Dieter(Drummer)
    eine kleine Optimierung ...
    28.11.2016 19:31:20
    Matthias
    Hallo Dieter
    Ok eine kleine Optimierung wäre die in Moment auskommentierte Zeile:
    Application.ScreenUpdating = True
    

    wegzulassen
    Das ist aber nur eine Codezeilenoptimierung, mehr nicht.
    Ich glaube seit XL2007 wird das automatisch bei Procedurende automatisch wieder auf True gesetzt.
    Du hast ja XL2010. Also müsste es auch bei Dir funktionieren.
    Mal ein Bsp. zum Nachvollziehen
    Private Sub CommandButton1_Click()
    MsgBox Application.ScreenUpdating
    Application.ScreenUpdating = False
    MsgBox Application.ScreenUpdating
    End Sub
    
    MsgBox Application.ScreenUpdating zu Beginn zeigt Dir momentanen den Zustand
    Auch wenn Du am Ende ScreenUpdating auf False setzt, ist es bei erneutem Klick wieder True
    weil es automatisch wieder aktiviert wurde.
    Eine Sache die auch nicht Alle wissen, Nun weißt Du es aber auch ;-)
    Gruß Matthias
    Anzeige
    Danke Matthias L für Info ...
    28.11.2016 19:40:37
    Dieter(Drummer)
    ... ich nutze schon "screenupdating ...", hatte es hier nur mal inaktiv gesetzt.
    Gruß, Dieter(Drummer)
    hast Du die Info verstanden ?
    28.11.2016 19:49:50
    Matthias
    Hallo
    Wenn Du ScreenUpdating zu Beginn ausschaltest
    musst zu es am Ende nicht zwangsläufig wieder aktivieren.
    Das wird automatisch wieder auf True gesetzt.
    Gruß Matthias
    AW: Ja ... danke Matthias L. owT
    28.11.2016 20:17:32
    Dieter(Drummer)
    AW: Code im Optionsbutton. Geht Verbesserung?
    28.11.2016 19:59:51
    Gerd
    Hallo Dieter,
    es lohnt sich kaum, deinen Code zu überdenken.
    Private Sub OptionButton1_Click()
    Const Txt As String = "Datei öffnen"
    If MsgBox(Txt & "?", 292, Txt) = vbYes Then
    Label1.Visible = True 'Label1 wird eingeblendet/aktiviert "grüner Haken"
    OptionButton1.Value = False 'Button1, Aktivierung wird ausgeschaltet
    Application.ScreenUpdating = False
    Workbooks.Open Filename:="C:\G...\M...\Fxyz.xlsm"
    Else
    Unload Me 'Beendet die aktive Userform
    End If
    'Application.ScreenUpdating = True
    End Sub
    

    Gruß Gerd
    Anzeige
    AW: Danke Gerd, perfekt und kürzer ...
    28.11.2016 20:28:28
    Dieter(Drummer)
    ... funktioniert tadellos.
    Gruß und einen schönen Abend, Dieter(Drummer)

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige