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

Freigabe mittels VBA aufheben

Forumthread: Freigabe mittels VBA aufheben

Freigabe mittels VBA aufheben
20.11.2006 07:31:41
Josef
Hallo!
Gibt es bitte mittels VBA eine Möglichkeit, eine Arbeitsmappenfreigabe für den Zeitraum der Durchführung eines Makros aufzuheben und danach wieder zu setzen?
Danke
Josef
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Freigabe mittels VBA aufheben
20.11.2006 07:38:46
Bert
Hallo Josef,
ist in dem Archiv aber recht einfach zu finden, weil oft vorhanden ;-)
ActiveWorkbook.Unprotect Password:="test"
Sheets(x).Unprotect Password:="test"
dann dein Code
und für das wieder sperren:
Sheets(x).Protect Contents:=True, DrawingObjects:=True, Password:="test"
ActiveWorkbook.Protect Structure:=True, Password:="test"
Gruß Bert
Anzeige
AW: Freigabe mittels VBA aufheben
20.11.2006 07:54:47
Josef
Hallo Bert!
Danke für Deine Antwort.
Ich meinte nicht das Paßwort für eine Arbeitsmappe, sondern unter Extras Arbeitsmappe freigeben.
Josef
AW: Freigabe mittels VBA aufheben
20.11.2006 07:58:39
Bert
Hallo Josef,
ist in dem Archiv aber recht einfach zu finden, weil oft vorhanden ;-)
ActiveWorkbook.Unprotect
Sheets(x).Unprotect
dann dein Code
und für das wieder sperren:
Sheets(x).Protect Contents:=True, DrawingObjects:=True
ActiveWorkbook.Protect Structure:=True
Gruß Bert
Anzeige
AW: Freigabe mittels VBA aufheben
20.11.2006 08:08:02
Josef
Hallo Bert!
Nach ausführen des Makros erhalte ich die Meldung.
die Methode Unprotect für das Object Workbook ist fehlgeschlagen.
Josef
AW: Freigabe mittels VBA aufheben
20.11.2006 08:15:52
Engelbert
Hallo Josef,
evtl. ist deine Arbeitsmappe gar nicht schreibgeschützt (nur deine Tabelle)?
On Error Resume Next
ActiveWorkbook.Unprotect
Sheets(x).Unprotect
dann dein Code
und für das wieder sperren:
Sheets(x).Protect Contents:=True, DrawingObjects:=True
ActiveWorkbook.Protect Structure:=True
Anzeige
AW: Freigabe mittels VBA aufheben
20.11.2006 08:23:01
Josef
Hallo Bert!
Ich meinte keine schreibgeschützte Arbeitsmappe. Ich meinte eine Arbeitsmappenfreigabe ( wo mehrere User gleichzeitig eine Bearbeitung in der Datei durch führen können.)
Excel-Extras-Arbeitsmappe freigeben-Bearbeitung von mehreren Benutzern zulassen.
Josef
leider falsch verstanden
20.11.2006 08:32:01
Engelbert
Oh Sorry Josef,
da habe ich wohl zu vorschnell geantwortet, aber evtl. kann dir da ja jemand anders helfen. Davon habe ich noch nichts gehört (was aber noch lange nichts heißen muss)
hehe.
Gruß, Engelbert
Anzeige
AW: Freigabe mittels VBA aufheben
20.11.2006 13:45:52
Kurt
Hi,
in einer freigegbenen Mappe können keinerlei Schutzeinstellungen per Code geändert werden.
mfg Kurt
AW: Freigabe mittels VBA aufheben
20.11.2006 14:22:51
Lorenz
Hallo Josef!
probiers mal so!

Sub FreigabeAusschalten()
Application.DisplayAlerts = False
With ActiveWorkbook
.ExclusiveAccess
.KeepChangeHistory = False
End With
Application.DisplayAlerts = True
End Sub


Sub FreigabeEinschalten()
Application.DisplayAlerts = False
If Not ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, accessMode:=xlShared
End If
Application.DisplayAlerts = True
End Sub

Grüsse aus Österreich
Lorenz
Anzeige
AW: Freigabe mittels VBA aufheben
20.11.2006 20:30:13
Josef
Hallo Lorenz!
Phantastisch.
Danke für Deine Hilfe und herzliche Grüße auch aus Österreich (Wien)
Josef
;
Anzeige
Anzeige

Infobox / Tutorial

Arbeitsmappenfreigabe in Excel mit VBA aufheben


Schritt-für-Schritt-Anleitung

Um die Freigabe einer Excel-Datei aufzuheben, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei, deren Freigabe du aufheben möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code ein, um die Freigabe aufzuheben:

    Sub FreigabeAusschalten()
        Application.DisplayAlerts = False
        With ActiveWorkbook
            .ExclusiveAccess
            .KeepChangeHistory = False
        End With
        Application.DisplayAlerts = True
    End Sub
  5. Um die Freigabe wieder zu aktivieren, füge den folgenden Code hinzu:

    Sub FreigabeEinschalten()
        Application.DisplayAlerts = False
        If Not ActiveWorkbook.MultiUserEditing Then
            ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, accessMode:=xlShared
        End If
        Application.DisplayAlerts = True
    End Sub
  6. Schließe den VBA-Editor und führe das Makro aus, um die Freigabe zu beenden.


Häufige Fehler und Lösungen

  • Fehler: Die Methode Unprotect für das Object Workbook ist fehlgeschlagen.

    • Prüfe, ob die Arbeitsmappe nicht schreibgeschützt oder bereits freigegeben ist. Du kannst auch den On Error Resume Next Befehl verwenden, um diesen Fehler zu ignorieren.
  • Freigabe kann nicht geändert werden.

    • In einer freigegebenen Excel-Datei können keine Schutzeinstellungen per VBA geändert werden. Du musst die Freigabe zuerst aufheben.

Alternative Methoden

Wenn du die Freigabe nicht über VBA aufheben möchtest, kannst du dies auch manuell tun:

  1. Gehe zu Extras in der Menüleiste.
  2. Wähle Arbeitsmappe freigeben.
  3. Deaktiviere die Option „Bearbeitung von mehreren Benutzern zulassen“.
  4. Klicke auf OK, um die Freigabe zu beenden.

Praktische Beispiele

Hier sind ein paar Beispiele, wie du die Freigabe in unterschiedlichen Szenarien aufheben kannst:

  • Wenn du an einer Excel-Datei arbeitest, die häufig von mehreren Benutzern bearbeitet wird, kannst du die Freigabe aufheben, um exklusive Änderungen vorzunehmen.
  • Nach einer umfassenden Überarbeitung deiner Excel-Datei möchtest du die Freigabe beenden, um die Änderungen zu speichern und die Datei für zukünftige Bearbeitungen neu freizugeben.

Tipps für Profis

  • Sichere deine Datei, bevor du die Freigabe aufhebst, um Datenverluste zu vermeiden.
  • Nutze die Funktion Application.DisplayAlerts = False, um unnötige Bestätigungsdialoge während der Ausführung des Makros zu vermeiden.
  • Stelle sicher, dass du die Änderungen an der Datei speicherst, bevor du die Freigabe wieder aktivierst.

FAQ: Häufige Fragen

1. Wie kann ich die Excel-Datei freigeben aufheben?
Du kannst die Freigabe aufheben, indem du das oben beschriebene VBA-Makro ausführst oder die Freigabe manuell über das Menü „Extras“ beendest.

2. Was passiert mit den Änderungen, wenn ich die Freigabe aufhebe?
Alle Änderungen, die von anderen Benutzern vorgenommen wurden, werden in der Datei gespeichert. Du kannst die Datei danach exklusiv bearbeiten.

3. Kann ich die Freigabe rückgängig machen, wenn ich mich vertue?
Ja, du kannst die Freigabe jederzeit wieder aktivieren, solange du die Datei im richtigen Format speicherst (z.B. im Shared Mode).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige