Hajo´s Bereich sperren VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Hajo´s Bereich sperren VBA
von: Michael Engelhardt
Geschrieben am: 08.04.2005 11:58:52
Hallo xlGemeinde,
ich habe folgenden Code von Hajo nun in alle Worksheets eingefügt. Mit unterschiedlichen Bereichen je Worksheet. Funktioniert gut je Worksheet. Gibt es die Möglichkeit dieses nun per VBA ein und aus zuschalten.
Ich stelle mir folgendes vor. In Tabelle2 soll ein Knopf sein, mit dem ich diese Funktion aktivieren bzw. deaktiviern kann. Und beim Deaktivieren soll nach einem Passwort gefragt werden.
Klasse wäre natürlich, wenn mann in Tabelle2 auch noch den Status anzeigen könnte. Ob es aktiviert oder deaktiviert ist.
Besten Dank und Gruß
Michael


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'**************************************************
'* H. Ziplies                                     *
'* 08.01.03                                       *
'* erstellt von Hajo.Ziplies@web.de               *
'* <a href="http://home.media-n.de/ziplies/">http://home.media-n.de/ziplies/</a> *
'*                                                *
'**************************************************
'   ein bestimmter Bereich darf nicht ausgewählt werden
    Dim RaBereich As Range, RaZelle As Range
    ' Bereich der Wirksamkeit
    Set RaBereich = Range("E28:E381")
'    ActiveSheet.Unprotect
    For Each RaZelle In Range(Target.Address)
        If Intersect(RaZelle, RaBereich) Is Nothing Then
        Else
            Range("A1").Select
            Exit For
        End If
    Next RaZelle
'    ActiveSheet.protect
End Sub

Bild

Betrifft: AW: Bereich sperren VBA
von: Hajo_Zi
Geschrieben am: 08.04.2005 12:05:10
Hallo Michael,
Ich gehe mal davon aus das Du das Beispiel von meiner HP geladen hast.
In dem Beispiel gab es auch ein Beispiel mit Passwortabfrage.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Bild

Betrifft: AW: Bereich sperren VBA
von: Michael Engelhardt
Geschrieben am: 08.04.2005 12:13:25
Hallo Hajo,
wie mache ich es denn, dass die Passwort abfrage für alle Worksheets in der Datei gilt. Oder muss ich den den Code in jedes Worksheet kopieren?
Gruß
Michael
Bild

Betrifft: AW: Bereich sperren VBA
von: Hajo_Zi
Geschrieben am: 08.04.2005 12:17:29
Hallo Michael,
im ersten Beitrag hast Du was von unterschiedlichen Bereichen geschrieben. Da ist es schon aufwendig dies unter DieseArbeitsmappe zu machen.
Im Beispielcode wird bei jeder selection einer Formel das Paswort abgefragt.
Ich sehe nicht wo das Problem ist?
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: AW: Bereich sperren VBA
von: Michael Engelhardt
Geschrieben am: 08.04.2005 12:23:31
Hallo Hajo,
das Problem ist folgendes generell darf keine Formel geändert werden. Aber es gibt auch Bereiche mit Werten die auch nicht geändert werden dürfen.
Und ich hätte halt gerne eine Möglichkeit, wo ich dies praktisch ein und ausschalten kann. Am besten per Knopf.
Gruß
Michael
Bild

Betrifft: AW: Bereich sperren VBA
von: Hajo_Zi
Geschrieben am: 08.04.2005 12:30:37
Hallo Michael,
das liest sich intressant. Aber ohne Informationen kann ich es auch nicht realisieren. Das geht abe erst ab 16:00 Uhr.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: AW: Bereich sperren VBA
von: Michael Engelhardt
Geschrieben am: 08.04.2005 12:53:51
Hallo Hajo, hallo xlGemeinde,
ich habe den Code jetzt so geändert.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'**************************************************
'* H. Ziplies                                     *
'* 28.03.03                                       *
'* erstellt von Hajo.Ziplies@web.de               *
'* <a href="http://home.media-n.de/ziplies/">http://home.media-n.de/ziplies/</a> *
'*                                                *
'**************************************************
'   Formel dürfen nicht geändert werde
'   Makros müssen aktiv sein
    Dim RaZelle As Range
    Dim InMldg As Integer
    For Each RaZelle In Range(Target.Address)
'       es dürfen keine Zellen mit Formeln ausgewählt werden
        If RaZelle.HasFormula Then
            BoPasswort = False
            UserForm1.Show
            If BoPasswort = True Then Exit Sub
            RaZelle.Offset(0, 1).Select
            Exit For
        End If
    Next RaZelle
'   ein bestimmter Bereich darf nicht ausgewählt werden
    Dim RaBereich As Range
    ' Bereich der Wirksamkeit
    Set RaBereich = Range("E27:F381")
'    ActiveSheet.Unprotect
    For Each RaZelle In Range(Target.Address)
        If Intersect(RaZelle, RaBereich) Is Nothing Then
        Else
            Range("A1").Select
            Exit For
        End If
    Next RaZelle
'    ActiveSheet.protect
End Sub

Frage: Kann ich per VBA steuern, dass dieser Code nun ausgeführt wird oder nicht. Also praktisch aktivieren oder deaktivieren. Und dies verbunden mit einem Knopf. Schutz ein / aus.
Gruß
Michael
Bild

Betrifft: AW: Bereich sperren VBA
von: Hajo_Zi
Geschrieben am: 08.04.2005 13:00:29
Hallo Michael,
in einem Modul
Public BoPasswort As Boolean
unter Diese Arbeitsmappe

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    If BoPasswort = False Then
        Application.StatusBar = "Formeln können geändert werden"
    Else
        Application.StatusBar = ""
    End If
    BoPasswort = Not BoPasswort
    Cancel = True
End Sub

als erste Zeile in Deinem Code
If BoPasswort =True Then Exit sub
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: AW: Bereich sperren VBA
von: Michael Engelhardt
Geschrieben am: 08.04.2005 13:11:30
Hi,
habs eingebaut. Aber ich bemerke keine Veränderung?
Gruß
Michael
Bild

Betrifft: AW: Bereich sperren VBA
von: Hajo_Zi
Geschrieben am: 08.04.2005 13:52:35
Hallo Michael,
der Schutz wird durch Doppelklick aufgehoben.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Bild

Betrifft: Wer lesen kann ist klar im Vorteil.. Danke funzt !
von: Michael Engelhardt
Geschrieben am: 08.04.2005 13:55:41

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Hajos Bereich sperren VBA"