Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Hyperlink in Pivot möglich?

Hyperlink in Pivot möglich?
17.06.2009 08:23:48
Julia
Hallo,
ich habe eine große Pivottabelle in einer Spalte sind lauter URL`s.
Ist es möglich einen Hyperlink daraus zu machen?
Bisher stehen die URL`s nur als Text in der Spalte.
Habe keine Einstellung diesbezüglich gefunden.
Hat jemand eine Idee?
Gruß
Julia
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink in Pivot möglich?
17.06.2009 09:00:19
robert
hi,
probier mal doppelklick auf eine URL ?
gruß
robert
vergiss meinen tipp..sorry..owT
17.06.2009 09:03:48
robert
AW: vergiss meinen tipp..sorry..owT
17.06.2009 09:07:37
Julia
Also habe auch gegooglet, leider nichts gefunden
Anzeige
versuche es mal mit VBA
17.06.2009 09:25:49
Tino
Hallo,
versuche es mal mit VBA die Hyperlinks zu erstellen.
Es wird nach Zellen gesucht die "www." im Text enthalten und
aus dem Inhalt der Zelle der Hyperlink erstellt.
Sub Makro1()
Dim rngFind As Range
Dim LCount As Long


With Sheets("Tabelle4") 'Deine Privottabelle 

    LCount = Application.WorksheetFunction.CountIf(.UsedRange, "*www.*")

    For LCount = 1 To LCount
     If rngFind Is Nothing Then
      Set rngFind = .UsedRange.Find("*www.*", , xlFormulas, xlPart, xlByRows, xlNext, False, False)
     Else
      Set rngFind = .UsedRange.FindNext(rngFind)
     End If
     If Not rngFind Is Nothing Then rngFind.Hyperlinks.Add rngFind, rngFind.Text
    Next LCount
    

End With

End Sub


Gruß Tino

Anzeige
AW: versuche es mal mit VBA
17.06.2009 09:30:21
Julia
Hi Tino
es gibt kein www. da es interne URL's sind
habe deinen Code wie folgt abgeändert

Sub Makro1()
Dim rngFind As Range
Dim LCount As Long
With Sheets("Daten") 'Deine Privottabelle
LCount = Application.WorksheetFunction.CountIf(.UsedRange, "*www.*")
For LCount = 1 To LCount
If rngFind Is Nothing Then
Set rngFind = .UsedRange.Find("*http*", , xlFormulas, xlPart, xlByRows, xlNext, False,  _
False)
Else
Set rngFind = .UsedRange.FindNext(rngFind)
End If
If Not rngFind Is Nothing Then rngFind.Hyperlinks.Add rngFind, rngFind.Text
Next LCount
End With
End Sub


Es kommt keine Fehlermeldung aber die URL`s sind immer noch nur als Text in der Pivot

Anzeige
AW: versuche es mal mit VBA
17.06.2009 09:34:20
Tino
Hallo,
ändere auch in der Zeile
LCount = Application.WorksheetFunction.CountIf(.UsedRange, "*www.*")
den Wert.
In dieser Zeile wird die Anzahl Zellen gezählt die diesen Text enthalten.
Gruß Tino
genial, ABER :(
17.06.2009 09:38:37
Julia
Echt genial,
die URL`S sind jetzt blau und unterstrichen so wie man es kennt. Aber ich kann nicht auf den Link klicken. Es findet keine Weiterleitung zur URL statt.
Es sieht jetzt aus wie ein Link, aber verhält sich so wie vorher
Anzeige
AW: genial, ABER :(
17.06.2009 10:03:48
Tino
Hallo,
kannst Du dich auch mit einem doppelklick anfreunden?
Stelle diesen Code direkt in Deine Privottabelle.
kommt als Code in die Privot
Option Explicit 
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
 If Target.Count = 1 And InStr(Target, "http") > 0 Then 
  Cancel = True 
  ActiveWorkbook.FollowHyperlink Address:=Target.Text, NewWindow:=True 
 End If 
End Sub 
 
 


Am einfachsten, unten wo Du die Tabellenregiste sehen kannst, rechtsklick auf die Privottabelle und Code anzeigen auswählen, dort den Code rein kopieren.
Danach kannst Du mit doppelklick auf die Zelle den Hyperlink ausführen.
Gruß Tino

Anzeige
Nur noch genail ;)
17.06.2009 10:33:52
Julia
Klappt perfekt....
Super vielen Dank. Wie kriegt ihr das immer wieder hin? Unglaublich ;)
@ Tino
17.06.2009 10:52:00
Julia
Noch eine kurze Frage:
Wäre es möglich die ersten 70 Zeichen von diesem Link-String auszublenden
/0 Zeichen von links nach rechts
Das aber die Linkeigenschaften bleiben?
sind diese immer gleich?
17.06.2009 11:06:28
Tino
Hallo,
sind diese immer gleich?
Gruß Tino
Anzeige
AW: sind diese immer gleich?
17.06.2009 11:20:48
Tino
Hallo,
müsste so gehen.
kommt als Code in die Privot
Option Explicit 
 
  
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
Const Str_Die_Ersten As String = _
"http://www..." 'hier die ersten 70 Zeichen eintragen 
  
 If Target.Count = 1 And Target.Font.Underline = 2 Then 
  Cancel = True 
  ActiveWorkbook.FollowHyperlink Address:=Str_Die_Ersten & Target.Text, NewWindow:=True 
 End If 
 
End Sub 

kommt als Code in Modul1

Sub Makro1() 
Dim rngFind As Range 
Dim LCount As Long 
 
 
With Sheets("Tabelle4") 'Deine Privottabelle 
 
    LCount = Application.WorksheetFunction.CountIf(.UsedRange, "http*") 
 
    For LCount = 1 To LCount 
     If rngFind Is Nothing Then 
      Set rngFind = .UsedRange.Find("http*", , xlFormulas, xlPart, xlByRows, xlNext, False, False) 
     Else 
      Set rngFind = .UsedRange.FindNext(rngFind) 
     End If 
      
     If Not rngFind Is Nothing Then 
      rngFind.Hyperlinks.Add rngFind, rngFind.Text, , , Right(rngFind.Text, Len(rngFind.Text) - 70) 
     End If 
     
    Next LCount 
     
 
End With 
 
End Sub 
 


Gruß Tino

Anzeige
AW: sind diese immer gleich?
17.06.2009 11:28:50
Julia
Muss ich die anderen Makros ersetzen
Oder diese hinzufügen?
ja
17.06.2009 11:36:26
Tino
Hallo,
ersetzen und Makro1 nochmal laufen lassen.
Im anderen Eventmakro noch Deine ersten 70 Zeichen eintragen.
Gruß Tino
AW: sind diese immer gleich?
17.06.2009 11:50:23
Julia
ungültiger Prozeduraufruf:
rngFind.Hyperlinks.Add rngFind, rngFind.Text, , , Right(rngFind.Text, Len(rngFind.Text) - 70)
Anzeige
AW: sind diese immer gleich?
17.06.2009 12:12:53
Tino
Hallo,
Sind überall auch 70 Zeichen enthalten?
Gruß Tino
tausend dank! klappt prima
17.06.2009 14:45:01
Julia
einwandfrei
AW: genial, aber belege die Parameter
17.06.2009 10:07:04
firmus
Hi Julia,
prüfe doch Deine Parameter-Belegung:
For xx = 2 To nnn
'URL setzen für "star.test.com"
tmp1 = "HTTP://star.test.com/issuehistory.jsp?status=all&start_date=&end_date=&contact="
tmp1 = tmp1 & tmp2 & "&issue=" & tmp3 & "+&program=isx1"
ActiveSheet.Hyperlinks.Add _
Anchor:=Cells(xx, 1) _ 'in diese Zelle wir der Link hinterlegt, wert bleibt.
, Address:=tmp1 _ 'tmp1 beinhaltet den realen Link
, ScreenTip:="Click2Open the link" _
, TextToDisplay:= "Beschreibung die angezeigt wird"
Next xx
Gruß
firmus
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Hyperlinks in Pivot-Tabellen erstellen


Schritt-für-Schritt-Anleitung

Um Hyperlinks in einer Pivot-Tabelle zu erstellen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine detaillierte Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsm)" und wähle Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub Makro1()
       Dim rngFind As Range
       Dim LCount As Long
       With Sheets("Tabelle4") ' Ersetze "Tabelle4" durch den Namen deiner Pivot-Tabelle
           LCount = Application.WorksheetFunction.CountIf(.UsedRange, "*http*")
           For LCount = 1 To LCount
               If rngFind Is Nothing Then
                   Set rngFind = .UsedRange.Find("*http*", , xlFormulas, xlPart, xlByRows, xlNext, False, False)
               Else
                   Set rngFind = .UsedRange.FindNext(rngFind)
               End If
               If Not rngFind Is Nothing Then rngFind.Hyperlinks.Add rngFind, rngFind.Text
           Next LCount
       End With
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen. Die Hyperlinks in deiner Pivot-Tabelle sollten jetzt erstellt werden.


Häufige Fehler und Lösungen

  • Fehler: Hyperlinks funktionieren nicht
    Wenn die Links in deiner Pivot-Tabelle nicht anklickbar sind, stelle sicher, dass der Code direkt im Arbeitsblatt der Pivot-Tabelle eingefügt wurde. Nutze den folgenden Code für Doppelklick-Events:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      If Target.Count = 1 And InStr(Target, "http") > 0 Then
          Cancel = True
          ActiveWorkbook.FollowHyperlink Address:=Target.Text, NewWindow:=True
      End If
    End Sub
  • Fehler: Ungültiger Prozeduraufruf
    Stelle sicher, dass alle URLs in der Datenquelle korrekt formatiert sind und die Anzahl der Zeichen überprüft wird.


Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du die Hyperlinks manuell in deiner Pivot-Tabelle hinzufügen. Diese Methode ist jedoch zeitaufwendig und nicht so effizient wie die Verwendung von VBA.

  1. Manuelles Hinzufügen von Hyperlinks: Klicke mit der rechten Maustaste auf die Zelle, wähle Hyperlink und füge die URL ein.
  2. Hyperlink in Power Query: Du kannst auch Power Query nutzen, um die Daten mit Hyperlinks zu importieren, allerdings ist dies nicht direkt in einer Pivot-Tabelle möglich.

Praktische Beispiele

  • Beispiel 1: Wenn du interne URLs hast, kannst du den Code anpassen:

    Set rngFind = .UsedRange.Find("*http*", , xlFormulas, xlPart, xlByRows, xlNext, False, False)
  • Beispiel 2: Um die ersten 70 Zeichen eines Links auszublenden, kannst du den folgenden Code verwenden:

    rngFind.Hyperlinks.Add rngFind, rngFind.Text, , , Right(rngFind.Text, Len(rngFind.Text) - 70)

Tipps für Profis

  • Verwendung von Pivot-Links: Experimentiere mit verschiedenen Formaten für die URLs, um sie in Pivot-Tabellen anzuzeigen.
  • VBA-Optimierung: Optimiere deinen Code, indem du Schleifen vermeidest, die über große Datenmengen iterieren.
  • Regelmäßige Sicherung: Stelle sicher, dass du regelmäßig Sicherungen deiner Excel-Datei machst, insbesondere wenn du mit VBA arbeitest.

FAQ: Häufige Fragen

1. Frage
Kann ich Hyperlinks in Power Query erstellen?
Antwort: Power Query selbst unterstützt keine Hyperlinks direkt in Pivot-Tabellen, aber du kannst Hyperlinks in die Datenquelle einfügen, bevor du die Daten importierst.

2. Frage
Sind Hyperlinks in Pivot-Tabellen auf alle Excel-Versionen verfügbar?
Antwort: Ja, die Erstellung von Hyperlinks in Pivot-Tabellen ist in Excel 2010 und neueren Versionen möglich. Achte darauf, dass du das richtige VBA-Format verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige