Clever-Excel-Forum

Normale Version: Private Sub Workbook_Open()
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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?
Hallo,

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

Einfach alle Codes in eine einzige Sub packen.

Gruß Uwe
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
Dein Tip ging in die richtige Richtung! Blush Hat dann funktioniert 18