Referenzzeilen

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: Referenzzeilen

Re: Referenzzeilen

von Stephan » Mi, 15.12.2021 08:26

hier dieselbe Datei, aber mit Links direkt in Spalte C


Code ist jetzt:

Code: Alles auswählen

Sub Main
	odoc=Thiscomponent.Sheets.getByName("Customizing")
	ozeile=odoc.Columns(2)
	'leere Bereiche finden
	oleer=ozeile.queryemptycells
	oletzter=oleer(oleer.count-1)
	j = oletzter.rangeaddress.startrow-1
	
	For i = 1 To j
		tmp1 = odoc.getCellByPosition(2,i).String
		alle = Split(tmp1,",")
		oText = odoc.getCellByPosition(2, i).getText()
		cur = oText.createTextCursor()
		For ii = 0 To UBOUND(alle)
			tmp2 = Trim(alle(ii))
			If tmp2 <> "" Then
				oField = ThisComponent.createInstance("com.sun.star.text.TextField.URL")
				oField.Representation = tmp2
				oField.URL = ConvertToURL("#Customizing.A" & tmp2)
				oText.insertTextContent(cur, oField, True)
				cur.GotoEnd(False)
	  			cur.String = ", "
	  			cur.GotoEnd(False)
  			End If
		Next ii
		'endständiges Komma-Leerzeichen Entfernen
		cur.GotoEnd(False)
		cur.goLeft(2, True)
		cur.String = ""
	Next i

End Sub

GRuß
Stephan
Dateianhänge
Aenderungen2.ods
(12.38 KiB) 94-mal heruntergeladen

Re: Referenzzeilen

von Stephan » Di, 14.12.2021 11:17

z.B. könnte man die gewünschten Links per Makro erzeugen (hier einmal schnell zusammengeschrieben):

Code: Alles auswählen

Sub Main
	odoc=Thiscomponent.Sheets.getByName("Customizing")
	ozeile=odoc.Columns(2)
	'leere Bereiche finden
	oleer=ozeile.queryemptycells
	oletzter=oleer(oleer.count-1)
	j = oletzter.rangeaddress.startrow-1
	
	For i = 1 To j
		tmp1 = odoc.getCellByPosition(2,i).String
		alle = Split(tmp1,",")
		oText = odoc.getCellByPosition(3, i).getText()
		cur = oText.createTextCursor()
		For ii = 0 To UBOUND(alle)
			tmp2 = Trim(alle(ii))
			oField = ThisComponent.createInstance("com.sun.star.text.TextField.URL")
			oField.Representation = tmp2
			oField.URL = ConvertToURL("#Customizing.A" & tmp2)
			oText.insertTextContent(cur, oField, True)
			cur.GotoEnd(False)
  			cur.String = ", "
  			cur.GotoEnd(False)
		Next ii
	Next i

End Sub
Das ist bedientechnisch sicher noch nicht optimal, aber zeigt einen möglichen Weg.


Bedienung:
in angehängter Datei die Einträge in Spalte C ändern (Zeileneinträge MÜSSEN per KOmma getrennt sein) und dann die SChaltfläche "Links ezeugen" klicken.


Gruß
Stephan
Dateianhänge
Aenderungen.ods
(12.38 KiB) 85-mal heruntergeladen

Re: Referenzzeilen

von M3Y3R » Di, 14.12.2021 09:13

echo hat geschrieben: Di, 14.12.2021 08:26 hallo
ich denke die Zeit schon nach ob es nicht möglich wäre die Liste zu filtern.
>> eine Hilfsspalte in der die Zeilen (incl. Überschrift) die thematisch zusammen gehören mit dem gleichen "Index" zusammengefasst werden.
Dann würde ein Filter alle Zeilen untereinander anzeigen können.
Das ist natürlich auch eine Idee an der ich nicht Gedacht habe. 😅🙈
Also quasi eine weitere Spalte, welche die jeweilige Zeile verschlagwortet bzw. thematisiert.
HeritzP hat geschrieben: Mo, 13.12.2021 17:12 Dazu bitte eine Beispieldatei zu Verfügung stellen.
Also eine Originaldatei darf ich natürlich nicht anhängen. Ich habe da aber mal ein Beispiel aufbereitet, wie die Struktur in etwas aussieht.
Aenderungen.xls
(19 KiB) 89-mal heruntergeladen

Re: Referenzzeilen

von echo » Di, 14.12.2021 08:26

hallo
ich denke die Zeit schon nach ob es nicht möglich wäre die Liste zu filtern.
>> eine Hilfsspalte in der die Zeilen (incl. Überschrift) die thematisch zusammen gehören mit dem gleichen "Index" zusammengefasst werden.
Dann würde ein Filter alle Zeilen untereinander anzeigen können.

Vielleicht lässt sich dieser "Index" ja sogar automatisch per Formel erzeugen.
Dazu sind deine Angaben aber zu allgemein.
Dazu bitte eine Beispieldatei zu Verfügung stellen.
Da würde ich mich anschließen.

Gruß Holger

Re: Referenzzeilen

von M3Y3R » Di, 14.12.2021 08:15

Hiker hat geschrieben: Di, 14.12.2021 07:43 Hallo,

normalerweise kommt dieser Hinweis immer von anderen, aber ich Frage mich, ob Ihr eure Auswertung/ Darstellung nicht besser mit einer Pivot-Tabelle machen könntet. Es gibt da den Punkt DrillDown zu den Daten zulassen.

Analog wäre die Frage, ob man nicht besser eine Datenbank verwendet und sich davon löst, dass Daten immer an einem bestimmten Platz in der Tabelle stehen.

J.

PS: Mir ist klar, dass das Dein Problem nicht löst, sondern erstmal neue schafft.
Datenbankgestütz wäre natürlich die beste Lösung, ist hier aber leider nicht ohne größeren Aufwand möglich. Hintergründe dazu Siege oben.

Re: Referenzzeilen

von M3Y3R » Di, 14.12.2021 08:13

mikeleb hat geschrieben: Mo, 13.12.2021 19:09 Hallo,
wie entstehen die "Referenzzeile", also z. B. "17, 25, 89" ? Sucht das jemand manuell zusammen?
Okay, ich merke dass ich etwas mehr Hintergründe liefern muss. 😅

In der Tat wird die Tabelle händisch erstellt und kann durchaus mal bis zu 250 Zeilen und länger sein.
Sie beinhaltet alle Individualisierungen eines Systems, die ggf. in einem anderen System übernommen werden sollen.
Sie ist also quasi eine Art Log der durchgeführten Änderungen am Quellcode des Ursprung-Systems.
Diese Liste geht dann zur Prüfung an den Kunden der wiederum einzelne Punkte prüft und entsprechend markieren kann.

Einige dieser Punkte gehören thematisch nun zusammen, sind aber in unterschiedlichen Bereichen des Systems angepasst.
Dadurch stehen sie auch mehrfach in der Liste, jedoch an unterschiedlichen Positionen. Diese möchte ich nun entsprechend verlinken.
Am besten dann natürlich so, dass die Referenz nicht immer händisch angepasst werden muss, wenn irgendwo eine neue Zeile hinzu kommt oder entfernt wird.

Re: Referenzzeilen

von Hiker » Di, 14.12.2021 07:43

Hallo,

normalerweise kommt dieser Hinweis immer von anderen, aber ich Frage mich, ob Ihr eure Auswertung/ Darstellung nicht besser mit einer Pivot-Tabelle machen könntet. Es gibt da den Punkt DrillDown zu den Daten zulassen.

Analog wäre die Frage, ob man nicht besser eine Datenbank verwendet und sich davon löst, dass Daten immer an einem bestimmten Platz in der Tabelle stehen.

J.

PS: Mir ist klar, dass das Dein Problem nicht löst, sondern erstmal neue schafft.

Re: Referenzzeilen

von mikeleb » Mo, 13.12.2021 19:09

Hallo,
wie entstehen die "Referenzzeile", also z. B. "17, 25, 89" ? Sucht das jemand manuell zusammen?

Re: Referenzzeilen

von HeritzP » Mo, 13.12.2021 17:12

Hallo,

man könnte mit Datengültigkeit arbeiten.
Mit einer Formel die Referenzangaben abfragen, und dann mit Hyperlink verwenden.
Dazu bitte eine Beispieldatei zu Verfügung stellen.

Gruß HeritzP

Re: Referenzzeilen

von M3Y3R » Mo, 13.12.2021 13:53

Vielen Dank dafür. Dann hätte ich jedoch für jede Referenzangabe eine eigene Spalte, was durchaus mal bis zu 25 Angaben und mehr sein kann.
Hinzu kommt, dass sich die Zeilen auf die sich bezogen wird, nicht automatisch anpassen, sofern man zwischendrin Zeilen einfügt oder entfernt.

Re: Referenzzeilen

von echo » Mo, 13.12.2021 12:46

Hallo
mehrere verschiedene Hyperlinks in einer Zelle, da fällt mit per Formel nichts zu ein,
aber wenn daneben freie Zellen sind könnte man dort die relevanten Zeilen auslesen und die Hyperlink erzeugen.
siehe Anhang

Gruß Holger
Dateianhänge
Unbenannt 1.ods
(10.7 KiB) 109-mal heruntergeladen

Referenzzeilen

von M3Y3R » Mo, 13.12.2021 11:23

Hallo zusammen,

ich stehe vor einer schier unlösbaren Aufgabe.
Ich habe eine Tabelle mit mehren Hundert Zeilen. Einige dieser Zeilen gehören thematisch zusammen, weshalb es eine Spalte mit der Überschrift „Referenzzeilen“ gibt. Hier werden dann die weiteren Zeilen (zum Beispiel 17, 25, 89) aufgeführt. Diese Referenzangaben können sich durch die Bearbeitung ändern.

Nun möchte ich gerne, dass wenn man auf eine dieser Zahlen klickt, in die jeweilige Zeile springt.
Für eine einzelne Angabe funktioniert dies via „=HYPERLINK()“, aber wie kann ich das für mehrere Angaben so variabel gestalten, dass ich nicht alle anderen Zeilen beim einfügen oder löschen einer Zeile bearbeiten muss?


Viele Grüße
M3Y3R

Nach oben