per VBA Hyperlink und Text in Zelle

Bild

Betrifft: per VBA Hyperlink und Text in Zelle
von: Martin
Geschrieben am: 27.05.2015 13:33:34

Hallo,
ich habe bereits sehr viele gute Anregungen aus diesem Forum übernommen, vielen Danke dafür!
Zu folgendem Problem konnte ich bisher leider noch keine Lösung finden.
Folgende Ausgangslage:
Ich habe Excel als Datenbank missbraucht (war eine Vorgabe, die ich so hinnehmen musste). Diese Tabelle ist ziemlich umfangreich (34 benutzte Spalten, bis zu 400 benutzte Zeilen). Daher möchte ich möglichst Platzsparend arbeiten, soll heißen dass ich keine neuen Zeilen oder Spalten einfügen kann und möchte.
In dieser Tabelle füge ich Informationen zum Projektverlauf ein, Terminüberwachung, Dateneingänge, Lieferantenverzeichnis, Adressbuch usw.
Jetzt habe ich eine Zelle 'Bemerkung' in der ein beliebiger Text steht. Wenn nun ein Dateneingang vorliegt, möchte ich zusätzlich in diese Zelle einen Hyperlink setzen.
Nun besteht das Problem darin, dass dann auch der Text als Hyperlink markiert wird, was nun nicht wirklich toll aussieht.
Mein Code dazu ist wie folgt:
Dim ausgabe as String
Dim zeile as Integer
Dim wks As Worksheet
Set wks = ActiveWorkbook.Sheets("Projekt")
...
zeile = RückgabeFkts.frZeile() 'gibt die letzte freie Zeile nach bestimmten Kriterien zurück
...
If Len(frm_Eintrag.frm_eintrag_txt_ao) > 0 And Not (frm_Eintrag.frm_eintrag_txt_ao = "Ablageort" Or frm_Eintrag.frm_eintrag_txt_ao = "Storage location") Then
If Len(ausgabe) > 0 Then: ausgabe = ausgabe & vbCrLf 'es ist eine Bemerkung vorhanden
ausgabe = ausgabe & "Abgelegt unter: " & vbCrLf
'wks.Cells(zeile, 18) = ausgabe & wks.Hyperlinks.Add(wks.Cells(zeile, 18), frm_Eintrag.frm_eintrag_txt_ao)
wks.Cells(zeile, 18) = wks.Hyperlinks.Add(wks.Cells(zeile, 18), frm_Eintrag.frm_eintrag_txt_ao)
wks.Cells(zeile, 18) = ausgabe & wks.Cells(zeile, 18)
End If
...
Die mittlere, auskommentierte Zeile funktioniert nicht, da verschwindet der Inhalt aus der Variable 'ausgabe'. Mit einer Leerzelle zwischen 'ausgabe' und dem Hyperlink, wird wieder der gesamte Text als Hyperlink gesetzt.
Fehlerausschluss: Wenn ein Hyperlink gesetzt werden soll, steht in 'frm_eintrag_txt_ao' die richtige Adresse (per msoFileDialogFolderPicker ausgewählt)
Vielen Dank für eure Mühen!
Gruß,
Martin

Bild

Betrifft: Das würde ich nicht per HL lösen, ...
von: Luc:-?
Geschrieben am: 27.05.2015 14:05:47
…Martin,
denn mM nach wird immer der ganze Zellinhalt als HL dargestellt oder wird durch einen speziellen HL-Text ersetzt. Beides zusammen funktioniert auch mit XlFkt HYPERLINK nicht! Falls dich aber nur das Erscheinungsbild stört, kannst du ja die Unterstreichung des HL entfernen, die Textfarbe beliebig setzen und nur im InfoText anzeigen lassen, wohin die Reise geht. Der Mauszeiger zeigt auf der Zelle ohnehin ein anderes Symbol und der InfoText wird angezeigt.
Ansonsten kannst du das auch ganz ohne HL über das Worksheet_SelectionChange- bzw BeforeRightClick-Ereignis machen, das dann mit einer ergänzbaren Target-Sprungziel-Liste arbeiten muss.
Gruß, Luc :-?

Bild

Betrifft: AW: Das würde ich nicht per HL lösen, ...
von: Martin
Geschrieben am: 27.05.2015 14:16:25
Hi Luc.
Danke für die schnelle Antwort!
Das mit der Textfarbe hab ich umgesetzt, sieht gut aus und würde meinen Ansprüchen genügen.
Nun habe ich aber ein Folgeproblem:
Wenn ich die Tabelle nun freigebe (Bearbeitung durch mehrere Benutzer), kann ich keinen Hyperlink mehr einfügen. Es verbleibt nur der Text ohne Hyperlink...
Ich versuch das mal mit dem BeforeRightClick-Ereignis, so kann ich ja auch einen Ordner öffnen.
Danke!

Bild

Betrifft: Qapla'! ;-) owT
von: Luc:-?
Geschrieben am: 28.05.2015 11:37:39
:-?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "per VBA Hyperlink und Text in Zelle"