Hirdetés

Új hozzászólás Aktív témák

  • spe88

    senior tag

    Az alábbi kódban, ha rossz jelszót ütök be vagy ki cancelezem a jelszókérő ablakot, nem ugrik vissza az előző worksheetre, gyakorlatilag bezárhatatlan a jelszókérő ablak. Mit tegyek?

    Köszi

    Public ASH As Worksheet
    Private Sub Workbook_Open()
    Set ThisWorkbook.ASH = ActiveSheet
    Sheets("HELP_DATA").Select
    Columns("E:E").Select
    ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("E1"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("HELP_DATA").Sort
    .SetRange Range("E2:E601")
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    Sheets("HELP_DATA").Select
    Columns("G:G").Select
    ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("G1"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("HELP_DATA").Sort
    .SetRange Range("G1:I601")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    End Sub
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    'Munkalap aktiválásakor mengnézzük, hogy az új munkalap a védendő-e:
    If Sh Is Worksheets("Output") Then
    'Ha a védendő, akkor jelszót kérünk:
    Sh.Visible = xlSheetHidden 'elrejtjük
    If InputBox("Jelszó:") = "MusterMaster" Then
    'Ha jó a jelszó, engedjük az aktívvá tételt,
    'és elmentjük új aktívként
    Sh.Visible = xlSheetVisible ' láthatóvá tesszük
    Application.EnableEvents = False 'letiltjuk az eseménykezelést
    Sh.Activate 'aktíváljuk
    Set ASH = ActiveSheet
    Application.EnableEvents = True 'visszaállítjuk az eseménykezelést
    Else
    'Ha rossz, akkor:
    MsgBox "Rossz jelszó!."
    'Visszaállítjuk az előző munkalapot aktívnak:
    ThisWorkbook.ASH.Activate
    Sheets("Output").Visible = xlSheetVisible 'láthatóvá tesszük, hogy kiválasztható legyen a lapfül
    End If
    End If
    End Sub

Új hozzászólás Aktív témák