Am 06.11.2011 10:01, schrieb gooly:
Hello again,
mit Pitonyaks code [Listing 423] kann ich NamedRanges setzen, die auch
nach Ablauf des Macros 'dableiben':
Sub AddNamedRange()
Dim oRange ' The created range.
Dim oRanges ' All named ranges.
Dim sName$ ' Name of the named range to create.
Dim oCell ' Cell object.
Dim s$
sName$ = "MyNRange"
oRanges = ThisComponent.NamedRanges
If NOT oRanges.hasByName(sName$) Then
Dim oCellAddress As new com.sun.star.table.CellAddress
oCellAddress.Sheet = 0 'The first sheet.
oCellAddress.Column = 1 'Column B.
oCellAddress.Row = 2 'Row 3.
s$ = "$Sheet1.$B$3:$D$6"
oRanges.addNewByName(sName$, s$, oCellAddress, 0)
End If
oRange = ThisComponent.NamedRanges.getByName(sName$)
oCell = oRange.getReferredCells().getCellByPosition(0,0)
Print oCell.getString()
End Sub
Aber, was mach ich, wenn ein NamedRange solchen Namens schon existiert
und womöglich falsch (weil alt) dimensioniert ist? Wie kann ich den
löschen oder ändern?
Hallo hier spricht dein privat-Programmierer Frieder :-)
Hier ein Makro von mir , mit dem du Benannte Bereiche wieder Löschen
kannst.:
Sub RemoveNamedRange()
Dim oRanges ' All named ranges.
Dim sName$ ' Name of the named range to create.
sName$ = "MyNRange"
oRanges = ThisComponent.NamedRanges
If oRanges.hasByName(sName$) Then
oRanges.removeByName(sName$)
MsgBox "Der Zellbereich " & sName$ & " wurde entfernt." ,0 , "Hallo"
End If
End Sub
Es gelingt mir nicht einmal einen existierenden NamedRange im
Namenfeld des Sheets selber löschen, d.h., ich kann auch nicht mit
Macro-Recording mal eine Lösung erzeugen.
Den Makrorekorder solltest du dir sowieso schnell abgewöhnen, wenn du
zuverlässige Makros haben willst.
Gruß Frieder
--
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Tips zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.