Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Fehlerfall reagiert nicht | Herbers Excel-Forum


Betrifft: Fehlerfall reagiert nicht von: Albert
Geschrieben am: 02.08.2012 13:38:42

Hallo zusammen,

ich verwende folgenden Code, um bei der Benutzung eines Files ein Passwort abzufragen.

Private Sub Workbook_Open()
    Dim objSh As Object
    Dim pw As String
    Dim wks As Worksheet
    Dim verfall As Date

Sheets("Startseite").Select

    verfall = CDate("01.08.2012")
    
    If Date < verfall Then
        
    Me.Sheets("Startseite").Visible = xlSheetVisible
    For Each objSh In Me.Sheets
        
        If objSh.Name <> "Startseite" Then objSh.Visible = xlSheetVisible
          
          Next

    Sheets("Startseite").Select


    pw = fncPassword("Ihre Lizenz ist abgelaufen!" & Chr(10) & "Geben sie das  _
Administratorpasswort eingeben", "Passwortabfrage")
    
    If pw = "Test" Then

    Me.Sheets("Startseite").Visible = xlSheetVisible
    For Each objSh In Me.Sheets
        
        If objSh.Name <> "Startseite" Then objSh.Visible = xlSheetVisible
     
     Sheets("Startseite").Select
   
    If pw <> "Test" Then
        
        MsgBox "Das eingegebene Passwort ist falsch!"
        
    End If

Next

End If
End If

End Sub
Das Eingabefenster fürs Passwort funktioniert optimal, doch der Fehlerfall funktioniert nicht!

Wär euch um Hilfe dankbar!

LG

Albert

  

Betrifft: AW: Fehlerfall reagiert nicht von: Kawensmann
Geschrieben am: 02.08.2012 13:59:14

Hallo,

versuch's mal so:

Private Sub Workbook_Open()
    Dim objSh As Object
    Dim pw As String
    Dim wks As Worksheet
    Dim verfall As Date

    Sheets("Startseite").Select

    verfall = CDate("01.08.2012")

    If Date < verfall Then
        Me.Sheets("Startseite").Visible = xlSheetVisible
        For Each objSh In Me.Sheets
            If objSh.Name <> "Startseite" Then objSh.Visible = xlSheetVisible
        Next
        Sheets("Startseite").Select
        pw = fncPassword("Ihre Lizenz ist abgelaufen!" & Chr(10) & "Geben sie das  _
Administratorpasswort ein", "Passwortabfrage")
        If pw = "Test" Then
            Me.Sheets("Startseite").Visible = xlSheetVisible
            For Each objSh In Me.Sheets
                If objSh.Name <> "Startseite" Then objSh.Visible = xlSheetVisible
                Sheets("Startseite").Select
            Next
        Else
            MsgBox "Das eingegebene Passwort ist falsch!"
        End If
    End If
End Sub
Gruß
Kawensmann


  

Betrifft: Schachtelfehler von: Rudi Maintaire
Geschrieben am: 02.08.2012 14:00:13

Hallo,
der Teil wird nur angesprungen, wenn das pw korrekt ist, da er innerhalb If pw="Test" Then steht.

Private Sub Workbook_Open()
  Dim objSh As Object
  Dim pw As String
  Dim verfall As Date
    
  verfall = CDate("01.08.2012")
  
  If Date < verfall Then
    
    Me.Sheets("Startseite").Visible = xlSheetVisible
    For Each objSh In Me.Sheets
      objSh.Visible = xlSheetVisible
    Next
    Sheets("Startseite").Select
    
  Else
  
    pw = InputBox("Ihre Lizenz ist abgelaufen!" _
      & Chr(10) _
      & "Geben sie das Administratorpasswort eingeben", "Passwortabfrage")
    
    If pw = "Test" Then
      For Each objSh In Me.Sheets
        objSh.Visible = xlSheetVisible
      Next
      Sheets("Startseite").Select
    Else
      MsgBox "Das eingegebene Passwort ist falsch!"
    End If
    
  End If
  
End Sub

Gruß
Rudi


  

Betrifft: AW: Schachtelfehler von: Albert
Geschrieben am: 02.08.2012 14:27:59

Hi Rudi, hi Kawensman,

danke für eure Tipps.

Jetzt klappts!

LG

Albert