Hyperlink-Aufruf von Beiträgen in ausgeblendeten Tabellen
#11
Hallo,

was mir jetzt gerade an dem Bild auffällt:

Wieso steht da auskommentierter Code?

Dieser Code den ich gepostet habe gehört in das Modul des Tabellenblattes, aber der Code den Uwe gepostet hat der müsste in das Modul 'DieseArbeitsmappe'.

Könntest du mal schauen ob der Code im richtigen Modul steht?

Nachtrag: Mein Fehler - der auskommentierte Code ist ja gar nicht der den ich gepostet habe - dann ist mein Hinweis oben nicht relevant - sorry.
Gruß
Peter
Top
#12
Hi Peter,

für deinen Lösungsvorschlag abolute Entwarnung. Habe dir ja bereits geschrieben, dass er funktioniert.

Aktuell bin ich mit Uwes Vorschlag zugange. Da haut bei mir noch etwas nicht hin.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#13
Hallo,

ich war, im Rahmen meiner bescheidenen Möglichkeiten, auch an Uwes Vorschlag.

Ich habe in deinem Bild auskommentierten Code gesehen und im ersten Moment gedacht du hast den Code von mir auskommentiert und den Code von Uwe da rein kopiert - und dann wäre der Code von Uwe im falschen Modul.

Ich habe erst nach dem Absenden meines Postings gesehen, dass dieser auskommentierte Code ja auch von Uwe ist und damit meine Vermutung mit dem falschen Modul nicht stimmt.
Gruß
Peter
Top
#14
Hallo Zusammen,

ich habe keinen Plan, wo es bei Günter hakt. Mein Verdacht war noch,
dass benannte Bereiche als Hyperlink gesetzt wurden, aber dann müsste
der Fehler schon vorher bei With Worksheets(... kommen. Doch nun
gehen auch benannte Bereiche, zumindest bei mir. Smile
Code:
'Modul DieseArbeitsmappe

Option Explicit

Private strStarter As String
Private strV As String

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  If strStarter = Sh.Name Then
    strStarter = ""
  Else
    If strV <> "" Then
      Sh.Visible = strV
      strV = ""
    End If
  End If
End Sub

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
  Dim strHLControl() As String, strT As String, oName As Name
  strT = Target.SubAddress
  For Each oName In Names
    If oName.Name = strT Then
      strHLControl = Split(Mid(Replace(oName.RefersTo, "'", ""), 2), "!")
      strT = ""
      Exit For
    End If
  Next oName
  If strT <> "" Then
    strHLControl = Split(Replace(strT, "'", ""), "!")
  Else
    strHLControl(0) = Replace(strHLControl(0), "'", "")
  End If
  strStarter = ActiveSheet.Name
  On Error GoTo Fehler
  With Worksheets(strHLControl(0))
    strV = .Visible
    .Visible = -1
    Application.Goto .Range(strHLControl(1)), True
  End With
  Exit Sub
Fehler:
  MsgBox "Die Hyperlinkadresse scheint kein gültiger interner Link zu sein:" & _
          String(2, vbNewLine) & Target.SubAddress, vbExclamation
End Sub

Gruß Uwe
Top
#15
Hi Uwe,

danke, jetzt funktioniert es.

Ich schau mir morgen mal deine beiden Codes an und versuche nachzuvollziehen, was in welchem passiert und wo die Unterschiede liegen.

Du hast in dem jetzigen diese Fehlerabfrage drin:

Zitat:Fehler:
MsgBox "Die Hyperlinkadresse scheint kein gültiger interner Link zu sein:" & _
String(2, vbNewLine) & Target.SubAddress, vbExclamation

Beim ersten Aufruf des Links habe ich diese Messagebox zu sehen bekommen und trotzdem war die richtige Seite geöffnet und der Cursor an der von mir bestimmten Stelle.

Seltsam? Aber wahr!
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#16
Hallo,

hier mal eine simple Beispieldatei:

.xls   VerweisAufZelleMitHyperlink.xls (Größe: 42,5 KB / Downloads: 27)

Gruß Uwe
Top
#17
Hi Uwe,

ich habe nochmals den Code - diesmal aus deiner Beispieldatei - in meine Datei eingebaut. Und er funktioniert nun ebenfalls einwandfrei. Warum ich das erste Mal Probleme hatte weiß der Kuckuck.

Ganz lieben Dank.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top


Gehe zu:


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