Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
136to140
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
136to140
136to140
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hyperlink automatisch setzen

Hyperlink automatisch setzen
22.07.2002 10:04:11
TF

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Hyperlink automatisch setzen
22.07.2002 12:02:53
L.Vira
Um wieviel Jahrgänge, Hefte und daraus resultierend, Linkadressen gehts denn da?
Re: Hyperlink automatisch setzen
22.07.2002 12:36:53
TF
Um ca. 10 Jahre (sollte variabel bleiben), pro Jahr 11 Hefte.

Eben soviele Links :-(

Vielelicht kannst Du mir helfen.

TF

Re: Hyperlink automatisch setzen
22.07.2002 16:39:52
L.Vira
''Das Beispiel geht davon aus, dass, falls nicht vorhanden,
''eine Spalte mit laufender Nr. eingefügt wird. Das ist zwar
''nicht zwingend erforderlich, ermöglicht aber, die ursprüngliche
''Sortierung wieder herzustellen.
''Hintergrund: Damit die Aktion überhaupt funktioniert, müssen
''die Daten zuerst nach Jahr und als 2. Kriterium nach Tag
''sortiert werden, um gleiche Einträge untereinander zu haben.

''Die Struktur in diesem Beispiel ist so:
''-----------------------------------------------------------------
''Nr|Thema|Untertitel|Autor|Rubrik|Jahr|Heft|Seite
''-----------------------------------------------------------------

''Die Adressen der Links sind in einem Blatt namens "Links",
''ab A1 lückenlos hinterlegt. Der Code prüft, ob die Anzahl
''der Links mindestens so groß ist, wie die ermittelte Anzahl
''von Kombinationen. Ist das nicht so, gibts eine Meldung.

''Der Code muss in dem Blatt ausgeführt werden, in dem die
''Hyperlinks erstellt werden sollen.

Option Explicit
Option Base 1
Dim arrS() As Long
Dim arrZ() As Long
Dim arrLink() As String
Sub Hyperlink()
Dim z As Long, lZ As Long, x As Long
Dim lZLinks As Long

Application.ScreenUpdating = False
''Sortieren unbedingt erforderlich
Columns("A:I").Sort Key1:=Range("F2"), Order1:=xlAscending, Key2:=Range("H2") _
, Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

lZ = [f65536].End(xlUp).Row
lZLinks = Sheets("Links").[a65536].End(xlUp).Row

ReDim arrS(2 To lZ)

For z = 2 To lZ
arrS(z) = CLng(Cells(z, 6) & Cells(z, 7))
Next

ReDim arrZ(2 To lZ)
x = 1
arrZ(2) = 1

For z = 3 To lZ
If arrS(z) = arrS(z - 1) Then
arrZ(z) = x
Else
x = x + 1
arrZ(z) = x
End If
Next

If lZLinks < WorksheetFunction.Max(arrZ) Then
MsgBox "Die Anzahl der Linkadressen ist kleiner als die " & Chr(10) & _
"Anzahl vorhandener Kombinationen!", 64, "gebe bekannt..."
Call reset
Exit Sub
End If

ReDim arrLink(2 To lZ)

For z = 2 To lZ
arrLink(z) = Sheets("Links").Cells(arrZ(z), 1)
With ActiveSheet
.Hyperlinks.Add .Cells(z, 6), arrLink(z)
End With
Next

''Ggf. wieder alte Sortierung wiederherstellen
Columns("A:H").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Call reset

End Sub
Sub reset()

Erase arrS
Erase arrZ
Erase arrLink
Application.ScreenUpdating = True

End Sub

Falls du Links wieder entfernen willst:

Sub Hyperlinks_weg()
Dim H As Hyperlink

For Each H In ActiveSheet.Hyperlinks
On Error Resume Next
H.Delete
Next

End Sub

Anzeige
Re: ...Verbesserung
24.07.2002 07:11:51
TF
Hallo Klaus,

super, vielen Dank für Deine Hilfe. Wo kann ich ändern, daß der Hyperlink

a) nur in Spalte 5
b) in der ganzen Zeile

erscheint??

Eine kurze Erklärung bitte.

Vielen Dank nochals.

TF

Anzeige
Re: ...Verbesserung
25.07.2002 19:33:33
Klaus Schubert
Hallo Tom,

ich habe den Code ein wenig umgestrickt, so dass du selber entscheiden
kannst,
welche Zellen in einer Zeile verknüpft werden. Du musst im Code jetzt nur
noch den Bereich angeben,
der verknüpft werden soll und zwar mit den Konstanten ErsteSpalteHyperlink
und LetzteSpalteHyperlink

Hier der geänderte Code:


Beispiele:
1) Die ganze Zeile verknüpfen:
ErsteSpalteHyperlink = 1
LetzteSpalteHyperlink = 7

2) Nur Zelle 5 verknüpfen:
ErsteSpalteHyperlink = 5
LetzteSpalteHyperlink = 5

3) Zellen 3 bis 6 verknüpfen:
ErsteSpalteHyperlink = 3
LetzteSpalteHyperlink = 6

ACHTUNG: Wenn die Verknüpfungen mit diesem Code wieder aufgehoben werden
sollen,
so müssen die Konstanten auf denselben Werten stehen wie beim Verknüpfen,
weil sonst nciht
alle oder zu viele Verknüpfungen entfernt werden !

Am Besten eine Eintellung festlegen und dann so belassen !

Gruß Klaus

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige