Userform mit Buttons aufrufen und beenden
#1
Hi,

ich habe hier eine Datei, in der diverse Userforms aufgerufen werden und die im ersten (Start-)Userform einen Button "Speichern und Beenden" (CommandButton 2) hat.
Option Explicit

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)    'schließen über "X" verhindern 
   If CloseMode = vbFormControlMenu Then
   End If
End Sub

Private Sub UserForm_Activate()
   
'   Me.Height = Application.Height 
'   Me.Width = Application.Width 
   Dim strText As String
   
   'Datum und Uhrzeit anzeigen 
   Label18.Caption = Format(Date, "dddd, dd.mm.yyyy")
   
   Bol = True
   Do Until Bol = False
      DoEvents
      Label19.Caption = Time
   Loop
   
End Sub

Private Sub CommandButton1_Click()      'öffnen UserForm Neukunde 
   Unload Me
   frm_Neukunde.Show vbModeless
End Sub

Private Sub CommandButton2_Click()      'speichern und beenden 
'   ActiveWorkbook.Save 
   Unload Me
'   Application.Quit 
End Sub

Private Sub CommandButton3_Click()      'öffnen UserForm Angebot abrufen 
   frm_Anzeige.Show vbModeless
End Sub

Private Sub CommandButton4_Click()      'öffnen UserForm Gutachten 
   Unload Me
   frm_Gutachten.Show vbModeless
End Sub

Private Sub CommandButton5_Click()      'öffnen UserForm Bestandskunden 
   Unload Me
   frm_Eingabe.Show vbModeless
End Sub


Wenn ich den Button drücke, wird zwar das Userform  beendet, aber im Editor läuft das Makro irgendwie trotzdem weiter, der Start-Pfeil in der Symbolleiste ist ausgegraut und am Code kann nichts geändert werden. Wenn ich dann auf den quadratischen blauen Abbruch-Knopf drücke, kann ich wieder weiterarbeiten.
Ich habe es schon mit und ohne vbModeless versucht und auch mit "Userform".Hide, aber das hat nix geändert.

Was ist da falsch?
Top
#2
Ich würde mir das hier mal anschauen

Code:
  Bol = True
  Do Until Bol = False
     DoEvents
     Label19.Caption = Time
  Loop
[-] Folgende(r) 1 Nutzer sagt Danke an Storax für diesen Beitrag:
  • Rabe
Top
#3
Hallo Ralf,

versuch es mal so

PHP-Code:
Private Sub CommandButton2_Click()      'speichern und beenden
'   
ActiveWorkbook.Save
   Application
.OnTime Now() + TimeValue("0:00:01"), "prcSchliessen"
   
Unload Me
End Sub

'in ein allgemeines Modul!
Sub prcSchliessen()
   Application.Quit
End Sub 

die Prozedur prcSchliessen muss in ein allgemeines Modul eingefügt werden.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Rabe
Top
#4
Das löst das Problem nicht. Das Problem ist die Endlosschleife im Code...
Der TO möchte eine fortlaufende Uhr in einem Label haben. So geht das eben nicht.
[-] Folgende(r) 1 Nutzer sagt Danke an Storax für diesen Beitrag:
  • Rabe
Top
#5
Hi,

(01.08.2016, 16:02)Storax schrieb: Ich würde mir das hier mal anschauen

Code:
  Bol = True
  Do Until Bol = False
     DoEvents
     Label19.Caption = Time
  Loop

ok, danke, werde ich morgen testen!

Dann werde ich das mal dem ursprünglichen Programmierer vorlegen. Ich halte das auch für unnötig.
Top
#6
Hallo,

danke, das war es!

Wenn ich in die Schließen-SUB noch BoL = False einbaue, müßte das doch auch reichen oder?
Top


Gehe zu:


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