Auflistung der verlinkten Zellen untereinander
#1
Hallo Zusammen

Kennt jemand einen VBA code, um verlinkte Zellen untereinander und innerhalb von Sheets aufzulisten?
verlinkte Zellen meine ich nicht zu irgendwelchem URL, sondern von der Zelle (sheet1 A1) zu andrer Zelle (sheet1 A10) bzw. zu anderem Sheet in der Zelle (sheet2 Zelle G10)

Die Auflistung sollte in einem anderen Sheet stattfinden in drei spalten wie hier:

Location    |     Display Text    |    Target

besten dank
Antworten Top
#2
Hi,

teste mal (es wird ein neues Blatt mit der gewünschten Übersicht angelegt):

Code:
Sub test()
Dim wS As Worksheet, wks As Worksheet, l As Long
Dim hL As Hyperlink
l = 2
Set wS = ThisWorkbook.Worksheets.Add
wS.Cells(1, 1) = "Location": wS.Cells(1, 2) = "Display Text": wS.Cells(1, 3) = "Target"
For Each wks In ThisWorkbook.Worksheets
    For Each hL In wks.Hyperlinks
        If InStr(1, hL.Address, "/") = 0 Then
            wS.Cells(l, 1) = hL.Range.Address(0, 0, xlA1, True)
            wS.Cells(l, 2) = hL.TextToDisplay
            wS.Cells(l, 3) = hL.SubAddress
            l = l + 1
        End If
    Next hL
Next wks
wS.Range("A1:C1").Font.Bold = True
wS.Columns("A:C").AutoFit
wS.Activate
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • Tom2020
Antworten Top
#3
Hallo Boris,
danke, es ist eine große Hilfe.

Eine Frage noch:
Ist es möglich während der Auflistung dass die Spalten(von A aus) sortiert wird, bei 100 Zeilen ist kein Problem, bei > 1000 macht es schon bemerkbar.

Note: 1= 3 gesetzt

thx

t
Antworten Top
#4
Hi,

auf die Schnelle: Du kannst Spalte A alphabetisch sortieren - da kommt dann halt aber z.B. AA1 vor C1.
Müsstest am Ende nur diese Zeile ergänzen:

Code:
wS.Range("A:C").Sort wS.Range("A1"), order1:=xlAscending, Header:=xlYes

Aber ist das eine Option?
Antworten Top
#5
super
sehr geholfen
thx
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste