Hallo,
gibt es eine Funktion, mit der es möglich ist, automatisch absolute und relative Zellbezüge durch deren Namen zu ersetzen?
Am Anfang eines Projektes arbeite ich oft ohne Namen, nur mit Zellbezügen. Später stelle ich dann fest, dass es für die Übersichtlichkeit und Nachvollziehbarkeit der Formeln günstig wäre, mit benannten Zellen (Namen) zu arbeiten. Nun würde ich gerne automatisch überall die vergebenen Namen einsetzen, wo noch absolute oder relative Adressierungen stehen.
Wie ist das möglich?
Falls es keine eingebaute Möglichkeit gibt, wäre eine Makrolösung denkbar, die alle Namen auflistet, die Namen auflöst und dann Suchen und Ersetzen durchführt?
Habe keine große Makro-Erfahrung, aber grundlegende Programmierkenntnisse.
Vielen Dank!
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Zellbezüge in Formeln automatisch durch deren Namen (Benannte Ausdrücke) ersetzen
-
- Beiträge: 31
- Registriert: Fr 28. Nov 2014, 20:41
Re: Zellbezüge in Formeln automatisch durch deren Namen (Benannte Ausdrücke) ersetzen
Moin,
Diese Sub wird bei meinen Projekten verwendet, wenn per Maske Daten eingegeben oder gelöscht werden. Hernach werden dann benannte Bereiche neu konfiguriert. Ich könnte mir vorstellen, eine Tabelle, die die Namen und die Bereiche führt (Spalte A die Namen und Spalte B die Bereiche). der Inhalt wird dann per Makro dem o.A. Code übergeben. Ob das eine Vereinfachung gegenüber der gleich von Vorneherein vergebenen Namen ist, sei mal dahingestellt.
Vielleicht ist das ja ein Einstieg?
Gruß
Gerd Erich
Weiß ich nicht. Bereiche in Sheets benenne ich oft mit dem folgenden Makro um. Dabei vergebe ich allerdings grundsätzlich schon zu Projektstart Namen. Hat was mit meiner Organisation zu tun. Es ist immer schwierig, im nach hinein eine Ordnung zu schaffen. Im Laufe der Projektdauer ändern sich oft, meist in Datenbankbereichen die Ausdehnungen. Dann nutze ich den folgenden Code:EinsamerBaumWald hat geschrieben:Hallo,
gibt es eine Funktion, mit der es möglich ist, automatisch absolute und relative Zellbezüge durch deren Namen zu ersetzen?
Code: Alles auswählen
' -------------------------------------------------------------
' @params : sRangeName Name des Bereiches
' sRange der Bereich
' -------------------------------------------------------------
private sub setNamedRange(sRangeName, sRange)
on Error goto ErrorHandler
Dim oCellAddress as new com.sun.star.table.CellAddress
Dim thisDocument as Object
thisDocument = ThisComponent
'MsgBox "Name ist : " & sRangeName & chr(13) & "Bereich ist : " & sRange
with thisDocument.NamedRanges
if .hasByName(sRangeName) then
.removeByName(sRangeName)
end if
.addNewByName(sRangeName, sRange, oCellAddress, 0)
end with ' thisDocument.NamedRanges
exit sub
ErrorHandler:
setErrorMsg ( "Error " & Err & ": " & chr(13) & _
Error$ & " (line : " & Erl & ")" & " in setNamedRange")
end sub ' setNamedRange()
' --------------------------------------------------------
private sub setErrorMsg(sMessage)
dim iStyle as integer
iStyle = MSGBOX_ICON_EXCLAMATION
MsgBox (sMessage,iStyle,TITLE_ERROR_BOX)
end sub
Vielleicht ist das ja ein Einstieg?
Gruß
Gerd Erich
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.