Keresés

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

  • Fferi50

    őstag

    válasz spe88 #41692 üzenetére

    Szia!
    Az eseménykezelés nincs a helyén. Ha az elején letiltottuk, akkor máshol nem kell vele foglalkozni, csak a végén engedélyezni. Ezen kívül az ASH változót is be kell állítani.
    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:
         Application.EnableEvents = False
         Sh.Visible = xlSheetHidden 'elrejtjük
         Set ASH = ActiveSheet 'az előző munkalap az aktív, ezt tesszük be a változóba
    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:
          Sheets("Output").Visible = xlSheetVisible 'láthatóvá tesszük, hogy kiválasztható legyen a lapfül
          ThisWorkbook.ASH.Activate
        End If
        Application.EnableEvents = True
      End If
    End Sub
    Üdv.

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