(Teillösung) Darstellung von Hyperlinks 2

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Fabu7
**
Beiträge: 24
Registriert: Mi, 16.05.2018 12:31

(Teillösung) Darstellung von Hyperlinks 2

Beitrag von Fabu7 »

Hallo,

das erste Thema "Darstellung von Hyperlinks" vom Mi, 24.04.2019 16:18 war doch eher einfacher.
Nun bin ich in einer komplizierteren Situation:

Siehe Datei im Anhang:
1. Schritt- 1. Tabelle: zeigt eine Datumsübersicht, die bei mir aber bis weit über Zeile 100 geht.
2. Schritt- 2. Tabelle: zeigt die Inhalte der 1. Tabelle an, wenn Spalte Q nicht leer ist, sortiert nach Eintrag siehe Spalte A (Zahlen 1-4).
3. Schritt- 3. Tabelle: zeigt die Inhalte der 2. Tabelle, sortiert nach Datum.

Mein Frage:
Wie bekomme ich es hin, dass in Spalte AQ statt Text, der Hyperlink angezeigt wird?

Anm. zur Datei:
Es geht um einen Spielplan, die Hyperlinks sind willkürlich reingesetzt.

Würde mich über eine Lösung von euch freuen.

Viele Grüße
Fabian
Dateianhänge
darstellung von hyperlinks 2.ods
(15.37 KiB) 109-mal heruntergeladen
Zuletzt geändert von Fabu7 am Mo, 03.06.2019 22:41, insgesamt 3-mal geändert.
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Darstellung von Hyperlinks 2

Beitrag von Stephan »

Wie bekomme ich es hin, dass in Spalte AQ statt Text, der Hyperlink angezeigt wird?
Mittels der Funktion HYPERLINK().

z.B.:

Code: Alles auswählen

=HYPERLINK(WENN(ISTFEHLER(AO6);"";INDEX($Tabelle1.$W$6:$W$108;VERGLEICH(AO6;$Tabelle1.$U$6:$U$108;0))))

Gruß
Stephan
Fabu7
**
Beiträge: 24
Registriert: Mi, 16.05.2018 12:31

Re: Darstellung von Hyperlinks 2

Beitrag von Fabu7 »

Danke Stephan,
habe mal eine Pause gebraucht.
Jetzt habe ich auch die Funktion Hyperlink verstanden.

Gruß
Fabian
Fabu7
**
Beiträge: 24
Registriert: Mi, 16.05.2018 12:31

Re: Darstellung von Hyperlinks 2

Beitrag von Fabu7 »

Hallo,
ich muss mich korrigieren. Dafür hänge ich nochmal eine Datei an.
In Spalte C steht statt dem Sprungziel (Bsp. "https://www.youtube.com" wie im ersten Anhang) ein anderer Inhalt (Bsp. "youtube").
Text und Sprungziel sind also verschieden.

Für "https://www.youtube.com" funktioniert die Lösung von Stephan und ich lande, wenn ich in Spalte AQ draufklicke, auf der Webseite.
Für "youtube" funktioniert die Lösung nicht. Der Text wird zwar in Spalte AQ als Hyperlink dargestellt, aber das Sprungziel fehlt.

Gibt es eine Möglichkeit, dass Sprungziel zu übernehmen?
Dateianhänge
darstellung von hyperlinks 3.ods
(15.46 KiB) 87-mal heruntergeladen
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Darstellung von Hyperlinks 2

Beitrag von Stephan »

Da die Hyperlink-Adressen in den Zellen in Spalte C in Feldern stehen (und nicht direkt in der Zelle) muss man sie daraus erst einmal extrahieren, z.B. mittels benutzerdefinierter Funktion:

Code: Alles auswählen

Function hl(zellname)
	With ThisComponent.CurrentController.ActiveSheet
		x = .getCellrangeByName(zellname).getTextFields()
		hl = x(0).URL
	End With
End Function
Dann kann man die so ermittelte Adresse in die bisherige Formel einbauen, z.B.:

Code: Alles auswählen

=HYPERLINK(HL("C6");WENN(ISTFEHLER(AO6);"";INDEX($Tabelle1.$W$6:$W$108;VERGLEICH(AO6;$Tabelle1.$U$6:$U$108;0))))
ACHTUNG: die Angabe der Zelle in der Benutzerdefinierten Funktion muss tatsächlich als String erfolgen, also "C6" (mit Anführungszeichen).

Gruß
Stephan

fehlerhafter Dateianhang gelöscht, neue Datei siehe weiter unten
Mondblatt24
*******
Beiträge: 1136
Registriert: So, 14.05.2017 16:11

Re: Darstellung von Hyperlinks 2

Beitrag von Mondblatt24 »

Hallo,
diese Antwort hat zwar nichts mit dem Thema zu tun,
aber

Code: Alles auswählen

=WENN(ZÄHLENWENN($A$6:$A$12;ZEILE(A1));ZEILE(A1);"")
könnte die Formel in U6 ersetzen.

Gruß Peter
Win 11 (x64) ▪ 24.2.2.2 (x64) ▪ AOO Portable 4.1.15
Wurde die Frage zutreffend beantwortet bitte den Betreff der Eingangsfrage mit [GELÖST] ergänzen. Beschreibung
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Darstellung von Hyperlinks 2

Beitrag von Stephan »

die DAtei in meinem vorherigen Beitrag lieferte eine Fehlermeldung beim Öffnen, deshalb gelöscht. Hier ist die korrigierte Datei


Gruß
Stephan
Dateianhänge
darstellung von hyperlinks 3_mit_benutzerdefinierter_Fkt.ods
(16.91 KiB) 107-mal heruntergeladen
Fabu7
**
Beiträge: 24
Registriert: Mi, 16.05.2018 12:31

Re: Darstellung von Hyperlinks 2

Beitrag von Fabu7 »

Danke für eure Antworten.

Zu Stephan´s Beitrag:
Dein Makro verstehe ich zwar noch nicht, auch nicht, was ein String ist, trotzdem super Ding.
Ich habe es auch zum Laufen gebracht.
Nur, die Formel funktioniert zwar, wenn C6=AQ6.
Leider ist bei mir schon eine Zeile weiter, C7 ungleich AQ7, C8 ungleich AQ8
usw.
Also, der Bezug C7-AQ7 stimmt nicht.

Ich überlege gerade, wie ich die Hilfsspalte U (Hilfe 2, die bei Datums- und Uhrzeitgleichheit trotzdem einen Unterschied erkennt), das Datum in Spalte V, und den Text in Spalte W miteinander vergleichen kann, sodass die Formel in AQ aus den Inhalten in Spalten U,V,W den richtigen Hyperlink automatisch in Spalte AQ schreibt. Und ich müsste Spalte C, in der der Hyperlink ja steht, auch irgendwie mit einbeziehen.

Ich hoffe, ihr könnt mir folgen? Sonst würde ich nochmal versuchen, mich anders auszudrücken.
Fabu7
**
Beiträge: 24
Registriert: Mi, 16.05.2018 12:31

Re: Darstellung von Hyperlinks 2

Beitrag von Fabu7 »

Hey,
ich habe eine Lösung gefunden, nur beim Versuch die Datei zu öffnen, erscheint etwa 7 Mal hintereinander folgende Meldung, bevor sie sich öffnet :
"Basic Laufzeitfehler: Eigenschaft oder Methode nicht gefunden. CurrentController"

In Spalte D habe ich mit folgender Formel die Links der jeweiligen Zellen c6-c12 extrahiert.
=HYPERLINK(HL("C6"))
=HYPERLINK(HL("C7"))
etc.

Zwischen den Spalten v-w und ap-aq habe ich eine Spalte eingefügt, damit die extrahierten Links Platz haben.
Und in der letzten Spalte at habe ich mit folgender Formel den Zellen aus Spalte as einen Hyperlink drübergestülpt.

=HYPERLINK(AR6;AS6)

Ich hänge die Datei dran, kann aber sein, dass sie fehlerhaft ist.
Würde mich freuen, wenn mir jemand sagt, woran das liegen könnte.

Wenn die Datei geöffnet ist, dann ist folgende Formel falsch, die ich erst korrigieren muss.
Statt
=HYPERLINK(HL("C6")) steht dann nämlich =HYPERLINK((HL("C6"))), also mit zwei Klammern mehr.

Beim nächsten Öffnen der Datei habe ich das Problem andersrum.
Da muss ich die Formel so korrigieren, dass =HYPERLINK((HL("C6"))) drin steht, damit alles läuft.

Oder ich schreibe statt =HYPERLINK(HL("C6")), =HYPERLINK(HL("c6")), also mit kleinem "c". Dann klappts auch.

Gruß
Dateianhänge
darstellung von hyperlinks 4.ods
(15.25 KiB) 89-mal heruntergeladen
Fabu7
**
Beiträge: 24
Registriert: Mi, 16.05.2018 12:31

Re: Darstellung von Hyperlinks 2

Beitrag von Fabu7 »

@ Stephan:
Ich habe zu meinem Problem von dir eine Antwort woanders gefunden.
http://www.oooforum.de/viewtopic.php?t=64520

Ich habe den Code von dieser Antwort eingebaut.
Und es funktioniert....bis zum nächsten Öffnen der Datei.
Folgendes Fenster erscheint wieder "Meine Makros & Dialoge.Standard" und "Basic Laufzeitfehler".
Rechts unten in diesem Fenster bei "Aufrufe" steht "0:(hl(zn=$c$7$)"
Beim Laufzeitfehler wird mir folgende Zeile vom Code markiert:

oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(zn)

Da ich das Sprungziel in 7 Zellen extrahieren möchte, muss ich den Laufzeitfehler 7 Mal wegklicken, was ziemlich nervt.

Ich würde mich freuen, wenn mir irgendjemand weiterhelfen kann.
Fabu7
**
Beiträge: 24
Registriert: Mi, 16.05.2018 12:31

Re: Darstellung von Hyperlinks 2

Beitrag von Fabu7 »

Teillösung!!
Ich habe in das Makro von Stephan "On Error Resume Next" und "On Error Goto 0" geschrieben.
Dieses bewirkt, dass Fehlermeldungen ignoriert werden.

Quelle: https://www.computerwissen.de/office/ex ... akros.html

Function hl(zellname)
On Error Resume Next
With ThisComponent.CurrentController.ActiveSheet
x = .getCellrangeByName(zellname).getTextFields()
hl = x(0).URL
On Error Goto 0
End With
End Function

In Spalte D steht Stephan´s andere Darstellung zu "=HL("c6"):

=HL(ZELLE("ADRESSE";C6))

So lässt sich einerseits die Datei wunderbar ohne Fehlermeldungen öffnen. Und durch die zweite Lösung, ohne "c6" in Anführungszeichen zu setzen, kann ich die Formel mühelos bis Zeile 100 ziehen, ohne manuell c7, c8, c9 etc zu schreiben.
Beim Öffnen der Datei zeigt mir Spalte D zwar zuerst keinen Inhalt an, aber wenn ich in Zelle D6 gehe, das "c" lösche, wieder einfüge, und enter drücke (also die Zelle aktualisiert habe), erscheint der extrahierte Hyperlink irgendwie doch. Mit Doppelklick kann ich dann bis zum Spaltenende die Hyperlinks sichtbar machen.
Antworten