Registriert seit: 12.04.2014
Version(en): Office 365
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
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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)
Registriert seit: 12.04.2014
Version(en): Office 365
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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.
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
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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)
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
hier mal eine simple Beispieldatei:
VerweisAufZelleMitHyperlink.xls (Größe: 42,5 KB / Downloads: 27)
Gruß Uwe
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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)