Startseite
» MS OFFICE
»
So verwenden Sie ONLYOFFICE-Makros zur Automatisierung der Tabellenkalkulationsbereinigung
So verwenden Sie ONLYOFFICE-Makros zur Automatisierung der Tabellenkalkulationsbereinigung
Die Bereinigung von Tabellenkalkulationen ist ein wiederkehrendes Problem: Exportierte Namen enthalten zusätzliche Leerzeichen, eingefügter Text enthält geschützte Leerzeichen, und Formeln oder IDs können durch umfangreiche Ersetzungen beschädigt werden. Ein ONLYOFFICE-Makro kann Text in einem definierten Bereich standardisieren, während numerische Werte und Formelzellen unverändert bleiben. Das folgende Beispiel behandelt nur Leerzeichen; das Entfernen von Duplikaten, die Datumskonvertierung und das Löschen leerer Zeilen erfordern separate Regeln.
Dokumentation geprüft am 6. Oktober 2026. ONLYOFFICE-Makros verwenden JavaScript mit der Office JavaScript API, nicht Excel VBA. Die aktuelle Dokumentation des Editors öffnet den Makro-Arbeitsbereich über Ansicht → Makros . Das genaue Aussehen der Symbolleiste kann je nach Desktop- und gehosteter Edition variieren.
Reinigungsaufgaben, die dieses Makro übernehmen kann
Das Beispiel entfernt führende und nachfolgende Leerzeichen und Tabulatoren, wandelt geschützte Leerzeichen in normale Leerzeichen um und reduziert wiederholte Leerzeichen und Tabulatoren im Text. Formeln und Werte, die keine Zeichenketten sind, werden übersprungen. Dieser eingeschränkte Funktionsumfang verringert das Risiko, Datumsangaben, Beträge oder berechnete Zellen beim Vorbereiten eines wiederkehrenden Imports zu verändern.
Datenproblem
Was die Probe bewirkt
Vor der Automatisierung prüfen
Führende oder nachfolgende Leerzeichen und Tabulatoren
Entfernt sie aus Textzellen
Für Namen und Beschriftungen ist dies in der Regel unbedenklich, prüfen Sie jedoch Felder, in denen Leerzeichen sinnvoll sind.
Schutzräume
Ersetzt sie durch normale Leerzeichen
Nützlich für kopierten Webtext; überprüfen Sie stichprobenartig das Quelltextfeld.
Wiederholte Leerzeichen oder Tabulatoren
Reduziert jeden Durchlauf auf ein einziges Leerzeichen.
Nicht verwenden bei Texten mit fester Breite oder beabsichtigten Einrückungen.
Formeln, Zahlen und Boolesche Werte
Lässt sie unverändert
Überprüfen Sie, ob die Formelzellen nach dem Ausführen weiterhin Berechnungen durchführen.
Doppelte Zeilen, Datumsangaben, leere Zeilen
Das ändert sie nicht
Definieren Sie zuerst die Geschäftsregeln; es handelt sich dabei nicht nur um kosmetische Bereinigungen.
1. Erstellen Sie eine Kopie und definieren Sie den Bereich.
Speichern Sie eine Arbeitskopie der Tabelle, bevor Sie ein Makro ausführen, das Zellen verändert. Ermitteln Sie das Tabellenblatt und die zu bereinigenden Datenzeilen. Im folgenden Code A2:D500ist ein Beispielbereich dargestellt: Zeile 1 enthält vermutlich Überschriften, und die Daten befinden sich in den Spalten A bis D. Passen Sie diese Adresse an Ihr Tabellenblatt an. Verwenden Sie einen begrenzten Bereich, der die gewünschten Datensätze umfasst, und schließen Sie Notizen, Formeln und nicht relevante Spalten aus.
Ein kleines Arbeitsblatt liefert eine begrenzte Stichprobe; die Kopfzeile sollte außerhalb des Reinigungsbereichs liegen.
Für einen ersten Test kopieren Sie einige repräsentative Datensätze in ein temporäres Tabellenblatt oder duplizieren Sie die Datei und verkleinern Sie den Bereich, z. B. auf 1000. A2:D10Fügen Sie Beispiele mit normalen Leerzeichen, eingefügtem Text, leeren Zellen und Formeln hinzu, um zu überprüfen, wie das Makro die einzelnen Fälle behandelt.
2. Öffnen Sie den ONLYOFFICE-Makroeditor.
Öffnen Sie die Tabelle im ONLYOFFICE Tabelleneditor und wählen Sie Ansicht → Makros . Erstellen Sie im Makrofenster ein neues Makro oder wählen Sie ein neues Modul aus und geben Sie ihm einen aussagekräftigen Namen CleanTextWhitespace. Die offizielle ONLYOFFICE-Makro-Einführungsanleitung beschreibt diesen Einstiegspunkt und die zugehörige Ausführungssteuerung.
Das Menüband „Ansicht“ enthält das Steuerelement „Makros“, mit dem der Makro-Arbeitsbereich geöffnet werden kann.
Wenn Makros in Ihren Editoreinstellungen deaktiviert sind, überprüfen Sie die Optionen unter Einstellungen → Erweiterte Einstellungen → Makros . ONLYOFFICE bietet Ihnen die Möglichkeit, Makros zu deaktivieren, eine Benachrichtigung anzuzeigen oder sie zu aktivieren. Aktivieren Sie für eine Arbeitsmappe, die Sie nicht selbst erstellt haben, nicht alle Makros global, nur um ein einzelnes Skript auszuführen. Prüfen Sie stattdessen den Code und beachten Sie die Richtlinien Ihrer Organisation.
3. Fügen Sie dieses begrenzte, formelbasierte Makro ein.
(function () {
var oSheet = Api.GetActiveSheet();
var oRange = oSheet.GetRange("A2:D500");
var nRows = oRange.GetRowsCount();
var nCols = oRange.GetColumnsCount();
for (var r = 1; r <= nRows; r++) {
for (var c = 1; c <= nCols; c++) {
var oCell = oRange.GetCells(r, c);
var sFormula = oCell.GetFormula();
// Do not replace formulas with their displayed results.
if (sFormula) {
continue;
}
var v = oCell.GetValue();
// Restrict this cleanup to text constants.
if (typeof v !== "string") {
continue;
}
var sClean = v
.replace(/\u00A0/g, " ")
.replace(/[ \t]+/g, " ")
.replace(/^[ \t]+|[ \t]+$/g, "");
// SetValue treats strings beginning with "=" as formulas.
if (sClean.charAt(0) === "=") {
continue;
}
if (sClean !== v) {
oCell.SetValue(sClean);
}
}
}
})();
Im Codebereich werden die vom Bereinigungsmakro verwendeten Bereichs- und Zellenlesemethoden angezeigt.
Die übergebenen Zeilen- und Spaltenzähler GetCellsbeziehen sich auf den ausgewählten Bereich; die API-Beispiele verwenden nummerierte Positionen für den Zellzugriff. Das Makro liest zunächst die Formel jeder Zelle und überspringt sie, falls vorhanden. Anschließend liest es den Wert und bearbeitet nur die tatsächlich geänderten Zeichenketten. Eine Zeichenkette, die nach dem Kürzen eine Formel mit einem Gleichheitszeichen ergeben würde, wird ebenfalls übersprungen, da SetValueein führendes Gleichheitszeichen als Formel interpretiert werden kann.
Der Ausdruck für Leerzeichen lässt Zeilenumbrüche absichtlich unverändert. Groß- und Kleinschreibung, Interpunktion, numerische Werte und Datumsformatierungen bleiben unberührt. Enthält Ihre Quelle mehrzeilige Anmerkungen, Felder mit fester Breite oder Bezeichner mit speziellen Leerzeichen, testen Sie diese Spalten separat und passen Sie die Richtlinie entsprechend an, anstatt eine umfassendere Normalisierung anzuwenden.
4. Einmal ausführen, dann das Ergebnis überprüfen.
Führen Sie das Makro im Makro-Editor aus. Da es die Zellen im ausgewählten Bereich aktualisiert, überprüfen Sie den geänderten Text in der Arbeitskopie, bevor Sie Ihre Quelldatei überschreiben. Vergleichen Sie einige Zeilen mit dem Original, darunter die erste und die letzte Zeile des Bereichs. Stellen Sie sicher, dass die Überschriften unverändert geblieben sind, Formeln weiterhin berechnet werden und numerische Zellen wie Datumsangaben, Währungen und IDs sich nicht geändert haben.
Nutzen Sie das Arbeitsblatt, um stichprobenartig repräsentative Zeilen zu überprüfen und diese mit der unberührten Kopie zu vergleichen.
Bei großen Tabellenblättern sollten Sie vor und nach der Ausführung nach verdächtigen Bereichen filtern oder suchen und die Zeilenanzahl vergleichen. Das Makro löscht keine Zeilen, entfernt keine Duplikate, konvertiert keine Datumsangaben und füllt keine leeren Felder auf. Daher sollten sich diese Prüfungen auf Textwerte konzentrieren. Wenn Sie einen sichtbaren Prüfpfad benötigen, fügen Sie eine separate Spalte für die Überprüfung hinzu oder kopieren Sie die bereinigten Ergebnisse in ein temporäres Tabellenblatt, anstatt Statusmeldungen in eine beliebige Zelle zu schreiben.
Allgemeine Reinigungsregeln, die eine separate Entscheidung erfordern
Doppelte Datensätze: Legen Sie fest, welche Spalten ein Duplikat definieren und ob wiederholte Transaktionen gültig sind, bevor Sie Zeilen löschen. Zwei identische Namen beziehen sich nicht zwangsläufig auf dieselbe Person oder Bestellung.
Leere Zellen und leere Zeilen: Eine leere Zelle, eine Null und ein Textwert wie „N/A“ haben unterschiedliche Bedeutungen. Sie dürfen nicht ohne Datenregel ersetzt oder gelöscht werden.
Datumsangaben und Zahlen als Text speichern: Wählen Sie zuerst das gewünschte Format und das Gebietsschema. Das Beispiel vermeidet die Konvertierung dieser Werte, da eine Zeichenkette wie beispielsweise „Datum“ 03/04/2026regionsübergreifend mehrdeutig ist.
Führende Nullen: Importieren Sie Kennungen wie z. B. 00127als Text. Wenn eine Tabellenkalkulation diese bereits als Zahlen gespeichert hat, können fehlende Nullen durch das Abschneiden von Text nicht wiederhergestellt werden.
Groß-/Kleinschreibung normalisieren: Die Umwandlung von E-Mail-Adressen in Kleinbuchstaben oder von Ländercodes in Großbuchstaben kann bei bestimmten Feldern hilfreich sein, aber die Anwendung auf Namen oder Produktbeschreibungen kann die beabsichtigte Groß-/Kleinschreibung zerstören.
Verwenden Sie ONLYOFFICE-Makros, wenn sich eine wiederholbare Regel präzise formulieren und an einer Kopie testen lässt. Das Makrosystem basiert auf JavaScript statt VBA, ist an ein Dokument gebunden und nicht global verfügbar und hat keinen direkten Zugriff auf Dateisystem und Netzwerk, wie in den ONLYOFFICE-Makro-FAQs erläutert . Diese eingeschränkte Umgebung begrenzt den Zugriff eines Makros außerhalb des Editors. Dennoch kann ein Makro den Inhalt der Arbeitsmappe ändern. Überprüfen und testen Sie daher den Code vor der Ausführung.
Bei wiederkehrenden Importen sollten Sie das Skript in einer kontrollierten Vorlage oder Dokumentkopie speichern und eine kurze Checkliste verwenden: das aktive Tabellenblatt bestätigen, die Bereichsadresse aktualisieren, Überschriften und Formeln ausschließen, auf einer Kopie ausführen, bearbeitete Zeichenfolgen stichprobenartig prüfen und die endgültige Arbeitsmappe mit dem Original vergleichen, bevor Sie sie speichern oder freigeben.