Automatisches Einfügen eines Diagrammtitels in LibreOffice

LibreOffice ist ein kostenloses Programm zur Erstellung und Bearbeitung von Text, Tabellen und Präsentationen. Es ist für Windows, Linux und MacOS verfügbar.

In diesem Artikel beschreibe ich, wie man mit Hilfe eines Makros , genauer gesagt einer Benutzerdefinierten Funktion, in LibreOffice den Titel und Untertitel eines Diagramms automatisch beschriftet.

Erstellung eines Diagramms

Zur Demonstration benötigen wir zunächst ein Diagramm und dieses Diagramm benötigt Daten. Ich habe hier Daten zum Bestand chinesischer Pkw-Marken in Deutschland zum 1.1.2023 und zum 1.1.2024 ausgewählt, die ich dieser Webseite entnommen habe.

Erstellung eines Datenbereiches für das Diagramm

Nach der Dateneingabe markiert man den Datenbereich und öffnet man in LibreOffice Calc mit Einfügen>>Diagramm die Diagrammerstellung.

Beginn der Diagrammerstellung in LibreOffice mit Auswahl des Diagrammtyps

Im nächsten Schritt aktiviert man die Optionen Erste Zeile als Beschriftung und Erste Spalte als Beschriftung

LibreOffice Beschriftungsoptionen für Diagramm festlegen

Beim nächsten Schritt muss man keine Änderungen vornehmen

Keine Änderung bei Datenreihen

Jetzt erfolgt noch die Festlegung weiterer Diagrammelemente, darunter auch derjenigen zum Diagramm-Titel und zum Untertitel.

LibreOffice Festlegung der Diagrammelemente

Das fertige Säulendiagramm sieht dann so aus:

LibreOffice fertiges Säulendiagramm

Jetzt öffnet man mit Ansicht»Navigator den durch LibreOffice bereitgestellten Navigator. Dort klickt man auf OLE-Objekte (Diagramme werden in LibreOffice als OLE-Objekte behandelt). LibreOffice hat zunächst automatisch einen Namen (Objekt1) für das Diagramm-Objekt vergeben. Der soll nun geändert werden. Dazu klickt man im Navigator auf Objekt1 . Das Diagramm wird daraufhin aktiviert und man klickt mit der rechten Maustaste darauf. Es erscheint ein Menü mit dem Punkt Namen. Hier kann man einen Namen vergeben. Im Beispiel habe ich ChinPkw eingegeben.

LibreOffice Navigator Objektnamen des Diagramms festlegen

Erstellen des dynamischen Bereiches

Die benutzerdefinierten Funktionen

Wir benötigen zwei benutzerdefinierte Funktionen, die aber ganz ähnlich aufgebaut sind: eine für den Diagrammtitel und eine weitere für den Untertitel (Subtitle) des Diagramms, dementsprechend lauten die Funktionsnamen set_Title und set_SubTitle. Die Parameter sind

  • title bzw. subtitle - der jeweils anzuzeigende Text
  • sheetnumber - die Nummer des Tabellenblatts in LibreOffice Calc
  • sname - der Objektname des Diagramms (so wie vorher festgelegt, hier im Beispiel ChinPkw)
function set_Title( title, sheetnumber, sname)
	with thisComponent.Sheets.getByIndex( sheetnumber-1).Drawpage
	for i = 0 to .count() -1
		if .getByIndex(i).Name = sname then
			.getByIndex(i).Model.Title.String = title
			set_Title = title
			exit function
		end if
	next i
	end with
end function

function set_SubTitle( subtitle, sheetnumber, sname)
	with thisComponent.Sheets.getByIndex( sheetnumber-1).Drawpage
	for i = 0 to .count() -1
		if .getByIndex(i).Name = sname then
			.getByIndex(i).Model.Subtitle.String = subtitle
			set_SubTitle = subtitle
			exit function
		end if
	next i
	end with
end function

Einfügen der benutzerdefinierten Funktionen in eine LibreOffice Calc Tabelle

Um die hier vorgestellten benutzerdefinierten Funktionen in eine LibreOffice Calc Datei einzufügen geht man so vor

  • Extras>>Makros>>Makros verwalten>>Basic, nun öffnet sich das Fenster Basic-Macros
  • im Fenster Basic-Macros links auf die Datei klicken, die man bearbeiten möchte und dann auf Verwalten klicken, jetzt öffnet sich ein Fenster mit dem dem LibreOffice Basic Editor
  • die Funktion einfügen. Der automatisch eingefügte Code zum Sub Main..End Sub kann gelöscht werden
  • Datei speichern

Anpassung des LibreOffice Calc Arbeitsblattes zur Nutzung der Funktionen

Die Nutzung der beiden benutzerdefinierten Funktionen in LibreOffice Calc habe ich in der Beispieldatei dokumentiert. Hier einige ergänzenden Erläuterungen.

Beispiel zum Einbau der Funktionen in ein LibreOffice Calc Arbeitsblatt

Der Eingabebereich besteht aus zwei Zeilen, eine für den Titel und eine weitere für den Untertitel. Die gelben Felder sind die Textfeld für die Eingabe. In den grünen Feldern stehen Formeln. die auf das Textfeld daneben verweisen. Außerdem wird hier der Name des Diagrammobjektes verwendet. Die blauen Feld  zeigen die Formel als Klartext.

Sobald man einen Text in den gelben Feldern ändert verändert sich auch die Anzeige in den grünen Feldern und im Diagramm.

Download der Beispieldatei

Die LibreOffice Calc-Datei mit den Beispieldaten sowie den beiden benutzerdefinierten Funktionen kann man hier herunterladen.

Download der LibreOffice-Datei mit automatischer Beschriftung für Titel und Untertitel eines Diagramms