Zellnamen per Makro vergeben

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zellnamen per Makro vergeben

Re: Zellnamen per Makro vergeben

von keksi1970 » Mo, 19.01.2009 10:20

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

Re: Zellnamen per Makro vergeben

von turtle47 » So, 18.01.2009 18:44

Hallo Stephan,

danke für die ausführliche und professionelle Antwort.

Jürgen

Re: Zellnamen per Makro vergeben

von Stephan » So, 18.01.2009 17:47

und der Rest ?
http://api.openoffice.org/docs/common/r ... dNewByName
Ich habe nur keinen Unterschied festgestellt ob mit oder ohne:
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:

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
nur dann wenn die Zelle entsprechenden Offsets markiert ist, hier also F4. Bei allen anderen Zellen ergibt sich ein anderer sichtbarer Eintrag da ja der grundlegende Eintrag relativ ist, also Tabelle1.B11:B15 und nicht etwa, wie es bei manueller Einfügung eines bereiches üblich wäre, $Tabelle1.$B$11:$B$15.
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

von turtle47 » So, 18.01.2009 16:37

Hi Andreas,
keksi1970 hat geschrieben: und der Rest ?
aRefPos = ?
0 = ?
wenn Du so fragst kannst Du mir sicher auch erklären wofür der Rest gut ist.

Hier in diesem Code wird z.B. der Rest auch nicht angegeben.
' 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)
Man kann es natürlich auch so machen:

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
Ich habe nur keinen Unterschied festgestellt ob mit oder ohne:

Code: Alles auswählen

	aRefPos.Column = 0 ' oder 5 oder ? ..........
	aRefPos.Row = 0 ' oder 3 oder ? ..........
Viele Grüsse.

Jürgen

Re: Zellnamen per Makro vergeben

von keksi1970 » So, 18.01.2009 15:31

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

Re: Zellnamen per Makro vergeben

von turtle47 » Sa, 17.01.2009 20:45

Hallo Andreas,

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
sollte funktionieren.

Viel Erfolg.

Jürgen

Zellnamen per Makro vergeben

von keksi1970 » Sa, 17.01.2009 18:54

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

Nach oben