Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UserInterfaceOnly:=True

Forumthread: UserInterfaceOnly:=True

UserInterfaceOnly:=True
05.08.2003 09:48:23
Torsten
Hallo beisammen,
vor ein paar Tagen erhielt ich zu einer VBA-Fragestellung folgende Lösung:

Private Sub Workbook_Open()
With Worksheets("Tabelle1")
.Protect Password:="Kennwort", UserInterfaceOnly:=True
.EnableOutlining = True
End With
End Sub

Das funktioniert auch alles prima. Als VBA-Anfänger würde ich nur gerne wissen,
was es mit dem Ausdruck "UserInterfaceOnly:=True" auf sich hat.
Wer kann mich aufklären? Vielen Dank im voraus.
Gruß
Torsten
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserInterfaceOnly:=True
05.08.2003 10:04:41
Jens
Hallo
UserInterfaceOnly:=True bedeutet das die Sperrung nur einfluß auf die Usereingaben hat.
Ein VBA Programm kann trotzdem eingaben machen.
Tipp: Markiere das Wort "Protect" und klick mal F1
"UserInterfaceOnly Variant optional. Wenn True, wird die Benutzeroberfläche, jedoch keine Makros geschützt. Ohne Angabe dieses Arguments gilt der Schutz für Makros und die Benutzeroberfläche."
Gruß Jens

Anzeige
;
Anzeige

Infobox / Tutorial

Verwendung von UserInterfaceOnly in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle eine neue Arbeitsmappe oder öffne eine bestehende.

  2. Wechsel in den VBA-Editor (Alt + F11).

  3. Füge ein neues Modul hinzu:

    • Rechtsklicke im Projekt-Explorer auf "VBAProject (DeinWorkbookName)".
    • Wähle "Einfügen" und dann "Modul".
  4. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       With Worksheets("Tabelle1")
           .Protect Password:="Kennwort", UserInterfaceOnly:=True
           .EnableOutlining = True
       End With
    End Sub
  5. Speichere die Arbeitsmappe als Excel-Arbeitsmappe mit Makros (.xlsm).

  6. Schließe den VBA-Editor und kehre zu Excel zurück.

  7. Schließe die Arbeitsmappe und öffne sie erneut. Der Schutz wird nun aktiviert, und der UserInterfaceOnly-Modus wird angewendet.


Häufige Fehler und Lösungen

  • Fehler: "Der Schutz konnte nicht angewendet werden."

    • Lösung: Stelle sicher, dass das Arbeitsblatt nicht bereits geschützt ist. Du kannst den Schutz vorab mit .Unprotect aufheben.
  • Fehler: "Makros sind deaktiviert."

    • Lösung: Aktiviere Makros in den Excel-Optionen, um sicherzustellen, dass dein VBA-Code ausgeführt werden kann.
  • Fehler: "Das Passwort ist falsch."

    • Lösung: Überprüfe das eingegebene Passwort im Code. Es muss genau übereinstimmen.

Alternative Methoden

Wenn du den Schutz ohne VBA anwenden möchtest, kannst du die folgenden Schritte nutzen:

  1. Markiere das Arbeitsblatt, das du schützen möchtest.
  2. Gehe zu "Überprüfen" in der Menüleiste.
  3. Klicke auf "Blatt schützen" und gib ein Passwort ein.
  4. Wähle die gewünschten Optionen aus und bestätige.

Diese Methode schützt das Arbeitsblatt, bietet jedoch nicht die Flexibilität von UserInterfaceOnly.


Praktische Beispiele

  • Einfacher Schutz ohne UserInterfaceOnly:

    Sub EinfacherSchutz()
       Worksheets("Tabelle1").Protect Password:="MeinPasswort"
    End Sub
  • Schutz mit UserInterfaceOnly:

    Sub SchutzMitUserInterfaceOnly()
       With Worksheets("Tabelle1")
           .Protect Password:="MeinPasswort", UserInterfaceOnly:=True
       End With
    End Sub

Mit der Verwendung von UserInterfaceOnly bleibt das VBA-Skript funktionsfähig, während die Benutzereingaben eingeschränkt werden.


Tipps für Profis

  • Nutze UserInterfaceOnly:=True, um sicherzustellen, dass deine Makros weiterhin auf die Daten zugreifen können, auch wenn der Benutzer keine Änderungen vornehmen kann.
  • Verwende EnableOutlining, um eine übersichtliche Struktur in deinen Arbeitsblättern zu schaffen, vor allem bei großen Datenmengen.
  • Teste deinen Code gründlich, um sicherzustellen, dass der Schutz wie gewünscht funktioniert, insbesondere nach Änderungen im VBA.

FAQ: Häufige Fragen

1. Was bedeutet UserInterfaceOnly?
UserInterfaceOnly bedeutet, dass der Schutz nur die Benutzeroberfläche betrifft. VBA-Makros können weiterhin Änderungen vornehmen.

2. Kann ich mehrere Arbeitsblätter gleichzeitig schützen?
Ja, du kannst eine Schleife verwenden, um mehrere Arbeitsblätter mit UserInterfaceOnly zu schützen. Beispiel:

Sub SchutzMehrererBlätter()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Protect Password:="MeinPasswort", UserInterfaceOnly:=True
    Next ws
End Sub

3. Funktioniert UserInterfaceOnly in älteren Excel-Versionen?
Ja, das UserInterfaceOnly-Argument ist in Excel VBA seit Version 2000 verfügbar. Stelle jedoch sicher, dass deine Version VBA unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige