Zellnamen per Makro vergeben
Moderator: Moderatoren
Zellnamen per Makro vergeben
Hi,
ich möchte per Makro einem oder mehreren Bereichen oder Einzelzellen in einem Sheet Namen geben, auf die ich mit "getcellrangebyname" zugreifen kann
geht das überhaupt ?
lg
Andreas
ich möchte per Makro einem oder mehreren Bereichen oder Einzelzellen in einem Sheet Namen geben, auf die ich mit "getcellrangebyname" zugreifen kann
geht das überhaupt ?
lg
Andreas
Re: Zellnamen per Makro vergeben
Hallo Andreas,
sollte funktionieren.
Viel Erfolg.
Jürgen
Code: Alles auswählen
Sub Name_Zellbereich
Dim aRefPos As New com.sun.star.table.CellAddress
aRefPos.Sheet = 0
oRanges = ThisComponent.NamedRanges
oRanges.AddNewByName( "NeuerZellbereich21", "Tabelle1.B11:B15", aRefPos, 0 )
End Sub
Viel Erfolg.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Zellnamen per Makro vergeben
Danke Jürgen,
ich füge also den bereits benannten Bereichen ( oRanges = ThisComponent.NamedRanges)
einfach welche hinzu (oRanges.AddNewByName)
"NeuerZellbereich21" = Name des Zellbereiches
"Tabelle1.B11:B15" = der Bereich
und der Rest ?
aRefPos = ?
0 = ?
lg
Andreas
ich füge also den bereits benannten Bereichen ( oRanges = ThisComponent.NamedRanges)
einfach welche hinzu (oRanges.AddNewByName)
"NeuerZellbereich21" = Name des Zellbereiches
"Tabelle1.B11:B15" = der Bereich
und der Rest ?
aRefPos = ?
0 = ?
lg
Andreas
Re: Zellnamen per Makro vergeben
Hi Andreas,
Hier in diesem Code wird z.B. der Rest auch nicht angegeben.
Ich habe nur keinen Unterschied festgestellt ob mit oder ohne:
Viele Grüsse.
Jürgen
wenn Du so fragst kannst Du mir sicher auch erklären wofür der Rest gut ist.keksi1970 hat geschrieben: und der Rest ?
aRefPos = ?
0 = ?
Hier in diesem Code wird z.B. der Rest auch nicht angegeben.
Man kann es natürlich auch so machen:' we set our named range name:
Dim oCellAddress As new com.sun.star.table.CellAddress
oCellAddress.Sheet = 0 ' The first sheet
oRanges.addNewByName(sName$,xcl$,oCellAddress,0)
Code: Alles auswählen
Sub Name_Zellbereich
Dim aRefPos As New com.sun.star.table.CellAddress
aRefPos.Sheet = 0
aRefPos.Column = 0
aRefPos.Row = 0
oRanges = ThisComponent.NamedRanges
oRanges.AddNewByName( "NeuerZellbereich21", "Tabelle1.B11:B15", aRefPos, 0 )
End Sub
Code: Alles auswählen
aRefPos.Column = 0 ' oder 5 oder ? ..........
aRefPos.Row = 0 ' oder 3 oder ? ..........
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Zellnamen per Makro vergeben
http://api.openoffice.org/docs/common/r ... dNewByNameund der Rest ?
Dann markiere verschiedene Zellen bevor Du den Dialog Einfügen-Namen festlegst. Der Zellbereich B11:B15 für den benannte Bereich gilt nämlich bei:Ich habe nur keinen Unterschied festgestellt ob mit oder ohne:
Code: Alles auswählen
Sub Name_Zellbereich
Dim aRefPos As New com.sun.star.table.CellAddress
aRefPos.Sheet = 0
aRefPos.Column = 5
aRefPos.Row = 3
oRanges = ThisComponent.NamedRanges
oRanges.AddNewByName( "NeuerZellbereich23", "Tabelle1.B11:B15", aRefPos, 0 )
End Sub
Die Angaben für den Spalten- und Zeilenoffet legen also lediglich die Refrenzadresse fest, es gilt also (hier im Beispiel) das die Verwendung von NeuerZellbereich23 in einer Formel nur dann Tabelle1.B11:B15 referenziert wenn die Formel in Zelle F4 steht, ansonsten verschiebt sich der Bereich entsprechend der Änderung des Bezugs.
Gruß
Stephan
Re: Zellnamen per Makro vergeben
Hallo Stephan,
danke für die ausführliche und professionelle Antwort.
Jürgen
danke für die ausführliche und professionelle Antwort.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Zellnamen per Makro vergeben
vielen dank ihr beiden,
also muss ich entweder als Bereich("$Tabelle1.$B$11:B$$15") angeben oder Zelle "A1" markiert haben ?
Und bei "A2" würde sich ohne "$" der Bereich auf "B12:B16" verschieben ?
lg andreas
also muss ich entweder als Bereich("$Tabelle1.$B$11:B$$15") angeben oder Zelle "A1" markiert haben ?
Und bei "A2" würde sich ohne "$" der Bereich auf "B12:B16" verschieben ?
lg andreas