Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1256to1260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem mit kopierten Hyperlinks

Problem mit kopierten Hyperlinks
Pascal
Guten Tag zusammen
Ich kopiere hin und wieder unzählige Hyperlinks (URL) ab Dokumentationen oder Word-Dokumenten in eine Excel-Mappe
So zum Beispiel steht in einer Dokumentation die URL-Zeile:
http://www.test.de/dokumentationen/anleitung.doc
Wenn ich diese obige Zeile per copy und paste ins Excel in eine leere Zelle kopiere, so kann ich diesen Hyperlink dann aus Excel raus erst starten, wenn ich vorgängig den Cursor in diese Zelle setze, dann hinter der Datei-Endung
.doc noch ein Enter mache (sozusagen als Zeilenabschluss)
da ich aber in meiner Excel-Tabelle schon unzählige Hyperlinks drin habe (welche ich natürlich auch erst öffnen kann, wenn ich vorgängig in jede Zelle reinklicke und am Schluss des Hyperlinks noch mit Enter abschliesse)
suche ich eine Möglichkeit (oder Makro) welche mir diesen mühsamen vorgang abnimmt.
D.h. ich bräuchte irgend ne Möglichkeit, die in meiner Excel Mappe alle Zellen beginnend mit "http:" noch mit ENTER abschliesst.
Geht das irgendwie ?
Oder wie kann ich Links (URL's) so ins Excel reinkopieren (per Copy Paste) dass diese dann auch gleich starbar sind ?
Herzlichen Dank für die Tips
AW: Problem mit kopierten Hyperlinks
31.03.2012 15:20:53
Dieter(Drummer)
Hi Pascal,
hier könnte dir der folgende VBA Befehl helfen:

Application.CutCopyMode = False
Zeichen den Vorgang mal mit dem Makrorekorder auf, dann siehst du wie so ein Makro aussieht.
Weitere Hilfe kann nur von Spezialisten/innen kommen.
Gruß
Dieter(Drummer)
AW: Problem mit kopierten Hyperlinks
31.03.2012 15:28:56
Reinhard
Hallo Pascal,
zeichne dir ein Makro auf, weise dem Makro eine Tastenkombination mit Strg zu.
Diese tastenkombi nimmst du dann anstelle von Strg+v
Dann kopiere A1 nach b1 und beende die Aufzeichnung.
Suche im Editor im Modul1 o.ä. das Makro und ändere es so ab:
Sub tt()
Dim MyData As New DataObject
MyData.GetFromClipboard
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=MyData.GetText(1), _
TextToDisplay:=Mid(MyData.GetText(1), InStrRev(MyData.GetText(1), "/") + 1)
End Sub

Das funktioniert wenn eine Adresse im Zwischenspeicher ist.
Kommt es auch vor daß da mehrere drin sind? Nur Links oder Mischung aus Links und normalem Text?
Brauchst du noch ein anderes Makro was vorhandene Https in Links umwandelt?
Gruß
Reinhard
Anzeige
Zelltext in Hyperlink wandeln
31.03.2012 16:16:56
Reinhard
Hallo Pascal,
Sub Makro2()
Dim Zelle As Range
On Error GoTo Ende
For Each Zelle In Tabelle1.UsedRange.SpecialCells(xlCellTypeConstants)
If Zelle.Hyperlinks.Count = 0 Then
If Zelle.Value Like "http*" Then
ActiveSheet.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value, _
TextToDisplay:=Mid(Zelle.Value, InStrRev(Zelle.Value, "/") + 1)
End If
End If
Next Zelle
Ende:
End Sub

Gruß
Reinhard
AW: Zelltext in Hyperlink wandeln
31.03.2012 18:07:18
Pascal
Hallo allerseits
Mal allen herzlichen Dank für die Tips und Beispielscodes
Aber ... egal wie ich es auch anstelle... es klappt nicht.
so zum Beispiel denke ich dass der Code von Reinhard eigentlich der richtige Ansatz währe.
D.h.
ich suche eine Möglichkeit, die ganze Arbeitsmappe (da hat es unzählige Tabellenblätter mit Text, Links Daten etc...) zu durchsuchen.
Jede Zelle in welcher eine URL steht mit http:*
soll also so umgewandelt werden, dass dann per Mausklick auf die entsprechende Zelle dieser Link gestartet werden kann.
Wie geht das ?
Ich denke, obiger Code ist mal der richtige Ansatz. Aber auch wenn ich diesen mal testhalber über eine Tabelle namens Tabelle1 laufen lasse, so geschieht nichts.
Anzeige
AW: Zelltext in Hyperlink wandeln
31.03.2012 20:16:56
Reinhard
Hallo Pascal,
lade bitte mal eine Beispielmappe hoch.
Gruß
Reinhard
AW: Zelltext in Hyperlink wandeln
01.04.2012 12:18:10
Pascal
Hallo Richard
Ich habe mal einfach eine ganz simple Beispielsdatei erstellt.
Natürlich gibt es diese Links dort drauf alle nicht in Wirklichkeit. (im Vorliegenden Beispiel hat es hauptsächlich Links, welche auf ein lokales Sharepoint verweisen)
Aber natürlich hats in der reellen Datenbank drin auch Links ins WWW und vor allem auch viel mehr Tabellenblätter drin.
Prinzip ist aber immer gleich:
Die Daten werden reinkopiert und die Links können erst ausgeführt werden, wenn vorgängig jede Zelle zuerst mittels ENTER abgeschlossen wurde.
Wäre toll, wenn Du (oder sonst wer ?) mir hier weiterhelfen könnte.
Im voraus HERZLICHEN DANK !
https://www.herber.de/bbs/user/79627.xls
Anzeige
Hyperlink ist kein richtiger Hyperlink?
01.04.2012 16:22:27
Reinhard
Hallo Pascal,
ich habe die Frage auf noch offen gestellt weil mir was unklar ist. In deiner Beispielmappe sind
die Zellwerte kein normaler Text denn der Cursor wird zur Hand.
Es sind Hyperlinks bei denen aber nichts geschieht wenn man darufklickt und blau sind sie auch nicht.
Für Vba sind es Hyperlinks denn wenn das Hochkomma vor Msgbox weg ist wird bei allen relevanten
Zellen eine 1 angezeigt.
Zumindest in deiner Beispielmappe hat bei mir der nachfolgende Code funktioniert.
Wenn dich in der Anzeige die %20 stören so sag Bescheid, kann man korrigieren.
Sowas entsteht wenn du in Dateinamen Leerzeichen oder Sonderzeichen wie äöü benutzt.
Sub Makro2()
Dim Zelle As Range
On Error GoTo Ende
For Each Zelle In Tabelle1.UsedRange.SpecialCells(xlCellTypeConstants)
'MsgBox Zelle.Hyperlinks.Count
If Zelle.Value Like "http*" Then
ActiveSheet.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value, _
TextToDisplay:=Mid(Zelle.Value, InStrRev(Zelle.Value, "/") + 1)
End If
Next Zelle
Ende:
If Err.Number  0 Then MsgBox Err.Number & vbLf & Err.Description
End Sub

Gruß
Reinhard
Anzeige
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 07:11:38
Pascal
Guten Tag Reinhard
Besten Dank für Deine Antwort
Genau so wie Du schreibst.... ist das Problem:
die Zellwerte kein normaler Text denn der Cursor wird zur Hand.
Es sind Hyperlinks bei denen aber nichts geschieht wenn man darufklickt und blau sind sie auch  _
nicht.
Ich werde nun mal Deinen Code-Vorschlag mal in der echten Mappe etwas austesten.
Melde mich dann mit Feedback
Bis dahin
Herzliche Grüsse:
Pascal
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 08:26:57
Pascal
Also... ich habe nun mal den obigen Code in meine "echte" riesengrosse Excel-Arbeitsmappe implementiert.
Egal ob ich den Tabellenname "Tabelle1" anpasse oder was auch immer ich tue....
Die Hyperlinks werden nicht ausführbar gemacht.
So hab ich jetzt mal noch folgendes probiert:
Wenn ich auf einem der Hyperlinks in der Datenbank rechte Maustaste drücke und das Menü "Hyperlinks bearbeiten" wähle, so stell ich fest, dass im entsprechenden Dialogfenster bloss der Text des Hyperlinks angegeben wird (dieser entspricht dem Hyperlink-Name, auf welchem ich rechte Maustaste drückte) die Adresszeile auf den Hyperlink ist aber leer !
Also kopierte ich den Text aus der Titelzeile dieses Dialogfensters in die Adresszeile dieser Dialogbox und bestätige mittels OK
Resultat:
Der Hyperlink ist in der Datenbank nun Blau und ausführbar !! :-)
Jetzt hab ich das mal mit dem Makro-Recorder aufgezeichnet:
Sub Makro10()
' Makro10 Makro
Range("D5").Select
Selection.Hyperlinks(1).Address = _
"http://sharepoint.test.de/sites/Dokumentenablage/Bestellungen/Lieferanten/Auswertung2012.xlsx"
End Sub
Jetzt müsste ich einfach mal versuchen (weiss zwar nicht ob das geht) dies irgendwie in einen Loop über alle Tabellenblätter und über alle Zellen der ganzen Datenbank zu programmieren.
Liesse sich evt. deine Test FOR - NEX - Anweisung entsprechend umbauen ?
Grüsse: Pascal
Anzeige
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 16:14:38
Reinhard
Hallo Pascal,
die Blattumbenennung konnte nichts bringen.
Ich habe jetzt den Code auch deshalb umgebaut. Jetzt kannst du entweder das Blatt umbenennen
in Tabelle1 oder abder im Code den richtigen Blattnamen anstelle von Tabelle1 eintragen.
Auch dieser Code funktioniert in deiner Beispielmappe.
Wenn er dies nicht bei dir tut so brauche ich einen (kleinen) Teil deiner Originalmappe hochgeladen.
Sub Test1()
Dim Zelle As Range, Anzeige As String
Application.ScreenUpdating = False
On Error GoTo Ende
With Worksheets("Tabelle1")
For Each Zelle In .UsedRange.SpecialCells(xlCellTypeConstants)
Anzeige = Mid(Zelle.Value, InStrRev(Zelle.Value, "/") + 1)
If Zelle.Value Like "http*" Then
.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value, _
TextToDisplay:=Replace(Anzeige, "%20", " ")
End If
Next Zelle
End With
Ende:
Application.ScreenUpdating = True
If Err.Number  0 Then MsgBox Err.Number & vbLf & Err.Description
End Sub

Gruß
Reinhard
Anzeige
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 17:15:51
Pascal
Hallo Richard !
Vorerst mal vielen vielen herzlichen dank für Deine wirklich grandiöse und (nicht selbstverständliche) aufopfernde Hilfe !
Ich habe den Code nun mal in ein neues Modul meiner echten, scharfen Datenbank (Arbeitsmappe) kopiert.
Ich habe dann den Tabellennamen auf einen Namen umbenannt, den es auch wirklich als Tabellenblatt in meiner Datenbank gibt.
Und siehe da ! :-)
Der Code funktioniert !!! :-)
Er hat nun alle Hyperlinks auf dem Tabellenblatt blau- und unterstrichen formatiert.
Und ... wenn ich draufklicke, so öffnet sich die besagte Datei :-)
Nun muss ich einfach noch versuchen, diesen Code so umzubauen / erweitern, dass er dann einen Loop über alle - in der Arbeitsmappe vorhandenen Tabellenblätter macht.
Grüsse: Pascal
Anzeige
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 17:26:14
Reinhard
Hallo Pascal,
Richard freut sich sicher über das Lob :-)))
Probiere mal diesen Code aus (ungetestet)
Sub Test1()
Dim Zelle As Range, Anzeige As String, wks As Worksheet
Application.ScreenUpdating = False
On Error GoTo Ende
For Each wks In ThisWorkbook.Worksheets
With Worksheets("Tabelle1")
For Each Zelle In .UsedRange.SpecialCells(xlCellTypeConstants)
Anzeige = Mid(Zelle.Value, InStrRev(Zelle.Value, "/") + 1)
If Zelle.Value Like "http*" Then
.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value, _
TextToDisplay:=Replace(Anzeige, "%20", " ")
End If
Next Zelle
End With
Next wks
Ende:
Application.ScreenUpdating = True
If Err.Number  0 Then MsgBox Err.Number & vbLf & Err.Description _
& vbLf & wks.Name
End Sub

Gruß
Reinhard
Anzeige
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 18:21:18
Pascal
Hmmmm..
ich denke, das ist der richtige Lösungs-Ansatz. Aber ... dieser Code greift dennoch bloss auf die Tabelle1 zu
(Code läuft also ned)
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 18:22:46
Pascal
SORRY !!!
Natürlich Reinhard !
Die Rosen und das grosse Lob gilt natürlich REINHARD
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 18:26:50
Pascal
So angepasst läuft der Code aber .... Er schneidet den ganzen Dateipfad aus dem Text raus. :-(
Ich muss aber nach wie vor den ganzen Dateipfad sehen können.
Sub Test1()
Dim Zelle As Range, Anzeige As String, wks As Worksheet
Application.ScreenUpdating = False
On Error GoTo Ende
For Each wks In ThisWorkbook.Worksheets
For Each Zelle In wks.UsedRange.SpecialCells(xlCellTypeConstants)
Anzeige = Mid(Zelle.Value, InStrRev(Zelle.Value, "/") + 1)
If Zelle.Value Like "http*" Then
wks.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value, _
TextToDisplay:=Replace(Anzeige, "%20", " ")
End If
Next Zelle
Next wks
Ende:
Application.ScreenUpdating = True
If Err.Number  0 Then MsgBox Err.Number & vbLf & Err.Description _
& vbLf & wks.Name
End Sub

Anzeige
AW: Hyperlink ist kein richtiger Hyperlink?
02.04.2012 22:25:25
Reinhard
Hallo Pascal,
du bist listig, jetzt läßte die Anrede weg, da kann nix schiefgehen *grien*
Aber keine Panik, ist schon okay. Es ist schlichtweg höflich und auch netter
anfangs bei der Anfrage oder Antworten die Nettiquette zu wahren *find*
Bei einem längeren Thread wo man sich quasi schon "kennt" spielt das nicht mehr die Rolle.
Ich hatte es extra eingebaut daß nur der reine Dateiname angezeigt wird.
Du willst das nicht, okay, du bist der Chef *gg*
Ungetestet, ersetze mal

If Zelle.Value Like "http*" Then
wks.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value, _
TextToDisplay:=Replace(Anzeige, "%20", " ")
End If

durch
If Zelle.Value Like "http*" Then  wks.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value

Wenn das nicht klappt so melde dich, ich oder andere kriegen das sicher hin *glaub*
Gruß
Reinhard
AW: Hyperlink ist kein richtiger Hyperlink?
03.04.2012 07:37:38
Pascal
Guten Tag Reinhard
Besten Dank nochmals für Deinen Code und Deine Super-Hilfe !
Zwischenzeitlich hatte ich den Fehler selber auch schon gefunden und beheben können.
mit folgendem Code ist nun mein Problem definitiv gelöst:
Sub Hyperlinks_aktivierbar_machen()
Dim Zelle As Range, Anzeige As String, wks As Worksheet
Application.ScreenUpdating = False
On Error GoTo Ende
For Each wks In ThisWorkbook.Worksheets
For Each Zelle In wks.UsedRange.SpecialCells(xlCellTypeConstants)
Anzeige = Mid(Zelle.Value, InStrRev(Zelle.Value, "/") + 1)
If Zelle.Value Like "http*" Then wks.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value
Next Zelle
Next wks
Ende:
Application.ScreenUpdating = True
If Err.Number  0 Then MsgBox Err.Number & vbLf & Err.Description _
& vbLf & wks.Name
End Sub
Nochmals vielen vielen vielen herzlichen Dank !
Grüsse: Pascal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige