Automatisches Speichern in Office 365 deaktivieren

Office 365 hat die - aus meiner Sicht - lästige neue Funktion des automatischen Speicherns von Dokumenten. Wer gerne etwas ausprobiert, mit Makros arbeitet oder entwickelt, läuft mit dieser Funktion einige Gefahren. Gerade wer sich sicherer im Umgang mit Office-Programmen und Excel ist, wird sich das Speichern bereits selbst angeeignet und verinnerlicht haben. In meinem Falle hatte ich viel öfters ungewollte Versionen abgespeichert bekommen (durch die Funktion "automatisches Speichern) als dass ich etwas hätte zu speichern vergessen oder durch einen PC-Absturz (was ja auch nicht mehr so häufig vorkommt) Daten verloren hätte. Deshalb wollte ich dies unbedingt deaktivieren. Ob die Funktion bei Dir aktiv ist, siehst Du am oberen linken Bildrand, da ist eine Schaltfläche "automatisches Speichern":

AutomatischesSpeichern

In diesem Falle ist das automatische Speichern deaktiviert; nachfolgende Grafik zeigt Dir die aktive Variante an:

AutomatischesSpeichernAktiv

Das Deaktivieren dieser Funktion ist nicht mehr so leicht in den Optionen zu finden, wie dies in früheren Excel-Versionen der Fall war. Mit Office 365-Versionen musst Du einen Eintrag in der Registry vornehmen; innerhalb der Applikationen selbst ist dies nicht mehr möglich. Beachte, dass in der Registry einiges an Schaden verursacht werden kann. Um die Registry wiederherzustellen, hat Microsoft eine Anleitung "How to back up and restore the registry in Windows" auf deren Support-Seite. Doch keine Panik - Du musst nichts an bestehenden Einträgen ändern oder anpassen - es soll lediglich ein komplett neuer Eintrag angelegt werden. Gehe dafür wie folgt vor:

  • Gehe auf "Windows durchsuchen" und gebe "Ausführen" oder "Run" ein. Öffne die Desktop-App "Ausführen". Alternativ kannst Du die Tastenkombination "Windows-Taste + R" verwenden.

DesktopAppRun

  • Gib in dem Fenster "Regedit" ein und bestätige mit OK. Bestätige eine allfällige Nachfrage von Windows mit "Ja", um Änderungen vornehmen zu können.

RunRegedit

  • Suche nun links im Verzeichnis unter "Computer": "HKEY_CURRENT_USER" → "Software" → "Microsoft" → "Office" → "16.0" → "Excel"
    • Beachte, dass Du unter "Office" "16.0" öffnen musst - dort drin ist ebenfalls ein Ordner "Excel" vorhanden.
  • Mittels Rechtsklick in der rechten Fenster-Hälfte gehst Du auf "Neu" → "DWORD-Wert (32-Bit)".

NeuDWORDWert

  • Nenne diesen "DontAutoSave".

DontAutoSave

  • Mittels Doppelklick kannst Du den Wert bearbeiten - schreibe bei "Wert" eine "1" rein und bestätige mit OK.

DWORDWertProperties

Nun kannst Du Excel neustarten. Die Schaltfläche "Automatisches Speichern" ist zwar nach wie vor eingeblendet, ist jedoch nicht mehr aktiv und wird nur noch blass angezeigt. Du kannst obiges Vorgehen auch für PowerPoint, Word etc. vornehmen. Gehe einfach in die entsprechende Registry ("HKEY_CURRENT_USER" → "Software" → "Microsoft" → "Office" → "16.0" → "Word"/"PowerPoint" und füge den DWORD-Wert "DontAutoSave" wie oben beschrieben ein.

Live-Suche in der Excel-Suchmaschine

Wie Du in Excel eine simple Suchmaschine programmieren und einrichten kannst, wurde in einem älteren Beitrag (siehe Suchmaschine programmieren) illustriert. Hier wird nun ergänzt, wie Du eine Live-Suche etablierst, damit direkt nach Eingabe eines Suchkriteriums die Liste auf die entsprechenden Einträge gefiltert wird.

Nehmen wir nach wie vor an, dass in der Zelle "B1" das Suchkriterium steht. Falls sich also diese Zelle ändert, hat die Suchmaschine direkt zu reagieren. Das Makro aus dem Beitrag "Suchmaschine programmieren" ist hierzu nicht in einem Modul abzulegen, sondern direkt im entsprechenden Tabellenblatt (=Tabelle1 (Suchmaschine))!

vbaprojekttabelle

Zudem ist der Code leicht anzupassen, respektive  um nachfolgende zusätzliche Angaben zu ergänzen. Der vollständige Code wird dann weiter unten aufgeführt.

Anstelle von "Sub Suchmaschine()" zu Beginn hat die erste Codezeile zu lauten:

Private Sub worksheet_change(ByVal target As Range)

Zudem ist eine Wenn-Dann-Kondition einzubauen, die auf die Zelle "B1" verweist - und eben beim Anpassen dieser Zelle das Makro automatisch auslöst.

If target.Row = 1 And target.Column = 2 Then

Darauf folgt der gesamte Code der Suchmaschine, abgeschlossen (vor "End Sub") mit dem Befehl:

End If

Der vollständige Code ...

... (nicht in Modul1 sondern im Tabellenblatt direkt, wie oben erwähnt) lautet demnach:

Private Sub worksheet_change(ByVal target As Range)

If target.Row = 1 And target.Column = 2 Then

Range("D2").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$D$8").AutoFilter Field:=4, Criteria1:="<>0"

AnzahlTreffer = Application.WorksheetFunction.Subtotal(3, Range("A:A")) - 2

MsgBox ("Insgesamt " & AnzahlTreffer & " Treffer gefunden.")

End If

End Sub

Die Eingabe des Platzhalters/Sternchens (*) erübrigen

Beim Programmieren der Suchmaschine habe ich Dir aufgezeigt, dass das Suchkriterium jeweils mit einem Sternchen vor- und nachher versehen werden sollte - beispielsweise "*Pop*". Um diesem vorzubeugen (es ist also nur noch der Begriff einzugeben, ohne Platzhalter-Symbol), ist die WVERWEIS-Formel minim anzupassen. Wir kombinieren jeweils den Text "*" mit dem Zellbezug auf das Suchkriterium in "B1". Für die Zeile 3 lautet die Formel wie folgt (und kann auf sämtliche weiteren Zeilen herunterkopiert werden):

=WENNFEHLER(WVERWEIS("*"&$B$1&"*";A3:C3;1;FALSCH);0)

Pivot-Datenquelle automatisch erweitern

Pivot-Tabellen aggregieren innert kürzester Zeit immense Datenmengen. Sobald man der Datenquelle weitere Informationen anfügt, wird dies standardmässig nicht direkt erkannt - der neue Bereich ist jeweils manuell anzupassen:

pivotdatenquelleaendern

Es besteht jedoch die Möglichkeit, die Datenquelle automatisch erweitern zu lassen. Dies funktioniert im Grunde genommen, wie wir das bereits in diesem Beitrag hier mittels Namensgebung für Bereiche behandelt haben. Unserer Pivot-Datenquelle teilen wir auch hier zuerst einen Namen zu: Markiere die gesamte Datenquelle und schreibe ins Namensfeld (links neben der Bearbeitungsleiste) Deinen gewünschten Namen, bspw. "Datenbasis":

pivotdatenquellenamensfeld

Gehst Du nun via "Einfügen" → "PivotTable" kannst Du direkt bei "Tabelle/Bereich:" den definierten Namen ("Datenbasis") eingeben:

(Beachte: Unsere Pivot wird in einem neuen Tabellenblatt sein, nicht im selben wie die Datenbasis.)

Nun ist aber noch nicht konfiguriert, dass sich der Bereich automatisch erweitern soll, sobald weitere Daten angefügt werden (weitere Zeilen, weitere Spalten). Hier kommt die Formel "BEREICH.VERSCHIEBEN" zum Einsatz. Gehe via "Formeln" auf "Namensmanager" und bearbeite Deinen bereits angelegten Namen. In der Maske gibst Du bei "Bezieht sich auf:" die nachfolgende Formel ein:

=BEREICH.VERSCHIEBEN(Datenbasis!$A$1;;;ANZAHL2(Datenbasis!$A:$A);ANZAHL2(Datenbasis!$1:$1))

Auf dem Tabellenblatt mit ebenfalls dem Namen "Datenbasis", beginnend bei Zelle "A1" wird einerseits nach unten (Spalte A:A) gezählt, wie viele Einträge vorhanden sind. Dasselbe passiert auf der Zeile 1.

pivotdatenquellenamensmanager

Der Bereich wird entsprechend daraufhin erweitert, sobald neue Einträge angefügt werden. (Beachte, dass die Pivot-Tabelle noch via Rechtsklick → "Aktualisieren" aufzufrischen ist.)