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.

Private Sub Workbook_Open()
#1
Hallo,

in einer etwas größeren Tabelle, habe ich unter DieseArbeitsmappe folgenden Code stehen:

Code:
Option Explicit

Private Sub Workbook_Open()

Benutzermodus

End Sub

In der gleichen Arbeitsmappe soll aber noch stehen:

Code:
Option Explicit
Const strThisSheet = "B"         ' Name der Tabelle anpassen

Private Sub Workbook_Open()
    If Sheets(strThisSheet).Index > 1 Then
        Sheets(Sheets(strThisSheet).Index - 1).Activate
    Else
        Sheets(2).Activate
    End If
    Sheets(strThisSheet).Visible = xlSheetVeryHidden
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Const strThisPWD = "Auskenner"
    Dim vPWD As Variant
    If Sheets(strThisSheet).Visible = xlSheetVisible And ActiveSheet.Name <> strThisSheet Then Exit Sub
    If Sh.Name = strThisSheet Then
        vPWD = MsgBox("Soll " & strThisSheet & " wieder versteckt werden?", vbYesNo + vbExclamation, "Tabelle verstecken")
        If vPWD = vbYes Then
            If Sheets(strThisSheet).Index > 1 Then
                Sheets(Sheets(strThisSheet).Index - 1).Activate
            Else
                Sheets(2).Activate
            End If
            Sheets(strThisSheet).Visible = xlSheetVeryHidden
        End If
    Else
        vPWD = InputBox("Bitte geben Sie das Passwort für " & strThisSheet & " an", "PWD zum öffnen")
        If vPWD = strThisPWD Then
            Sheets(strThisSheet).Visible = xlSheetVisible
            Sheets(strThisSheet).Activate
        Else
            MsgBox "Falsches Passwort!", vbOKOnly + vbCritical, "Nix da"
        End If
    End If
End Sub
Jetzt habe ich aber das Problem, das ich 2x Private Sub Workbook_Open() im Code habe. Auch umbenennen half nichts: Nur Fehlermeldungen! Siehe Foto

Weiß da jemand einen Rat?


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hallo,

(26.10.2021, 12:10)Beltason schrieb: Weiß da jemand einen Rat?

Einfach alle Codes in eine einzige Sub packen.

Gruß Uwe
Antworten Top
#3
Hallo Ralf, danke für den schnellen Tip! Gleich ausprobiert, aber will auch nicht. Habe das jetzt so zusammengepackt untereinander. Denke das ich da was falsch habe.
Code:
Option Explicit

Private Sub Workbook_Open()

Benutzermodus

Const strThisSheet = "B"         ' Name der Tabelle anpassen


    If Sheets(strThisSheet).Index > 1 Then
        Sheets(Sheets(strThisSheet).Index - 1).Activate
    Else
        Sheets(2).Activate
    End If
    Sheets(strThisSheet).Visible = xlSheetVeryHidden
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Const strThisPWD = "Auskenner"
    Dim vPWD As Variant
    If Sheets(strThisSheet).Visible = xlSheetVisible And ActiveSheet.Name <> strThisSheet Then Exit Sub
    If Sh.Name = strThisSheet Then
        vPWD = MsgBox("Soll " & strThisSheet & " wieder versteckt werden?", vbYesNo + vbExclamation, "Tabelle verstecken")
        If vPWD = vbYes Then
            If Sheets(strThisSheet).Index > 1 Then
                Sheets(Sheets(strThisSheet).Index - 1).Activate
            Else
                Sheets(2).Activate
            End If
            Sheets(strThisSheet).Visible = xlSheetVeryHidden
        End If
    Else
        vPWD = InputBox("Bitte geben Sie das Passwort für " & strThisSheet & " an", "PWD zum öffnen")
        If vPWD = strThisPWD Then
            Sheets(strThisSheet).Visible = xlSheetVisible
            Sheets(strThisSheet).Activate
        Else
            MsgBox "Falsches Passwort!", vbOKOnly + vbCritical, "Nix da"
        End If
    End If
End Sub
Antworten Top
#4
Dein Tip ging in die richtige Richtung! Blush Hat dann funktioniert 18
Antworten Top


Gehe zu:


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