relative Bezüge mit benannten Ausdrücken verwenden
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
Zusammenfassung
Diese Seite zeigt ein LibreOffice Basic Makro, das die Verwendung relativer Bezüge mit benannten Ausdrücken illustriert. Es ist ein Beispiel aus Kapitel 13 ("Calc als Datenbank") aus dem Calc 7.0 Handbuch.
Beschreibung
Wenn ein bennanter Bereich Zellbezüge verwendet, die nicht absolut sind, dann werden diese Bezüge relativ zur Basis Adresse des Bereiches referenziert, die mit dem dritten Argument der Methode addNewByName, der Position, definiert wird. Dieses Verhalten wird im untenstehenden Code gezeigt. Hier erzeugt das Makro AddNamedFunction den benannten Bereich AddLeft. Dieser Ausdruck referenziert die Gleichung A3+B3 mit C3 als seine Basisadresse. Da relative Zellbezüge AddLeft verwenden, wird die Summe der Werte der zwei Zellen direkt nach links jeder Zelle, die die Formel =AddLeft enthält aufsummieren. Z. Bsp., wenn AddLeft in der Zelle E5 steht, wird sie dien Zellen C5 und D5 aufsummieren (siehe verlinktes Tabellenblatt).
Code
Sub AddNamedFunction()
Dim oSheet 'Tabellenblatt, das den Bereich oRange enthält
Dim oCellAddress 'Adresse für relative Zellbezüge
Dim oRanges 'Die Eigenschaft NamedRanges
Dim oRange 'Zellberich mit einer Zelle
Dim sName As String 'Name der zu erstellenden Gleichung
sName = "AddLeft"
oRanges = ThisComponent.NamedRanges
If NOT oRanges.hasByName(sName) Then
oSheet = ThisComponent.getSheets().getByIndex(0)
oRange = oSheet.getCellRangeByName("C3")
oCellAddress = oRange.getCellAddress()
oRanges.addNewByName(sName, "A3+B3", oCellAddress, 0)
End If
End Sub
Dieses Calc Tabellenblatt enthält den obigen LibreOffice Basic Code.