Excel Hyperlink Problem bei umbennen der Datei

  • Excel

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Excel Hyperlink Problem bei umbennen der Datei

    Hallo!

    Ich hab jetzt lange gegooglet aber nichts konkretes gefunden was mir weiterhilft.

    Mein Code zur Erstellung der Hyperlinks sieht so aus:

    Sheets("Baumstruktur").Select
    Worksheets("Baumstruktur").Hyperlinks.Add Address:="", Anchor:=Range(Cells(zeileV, spalteV), Cells(zeileV, spalteV)), _
    SubAddress:=Worksheets(Vorlagenname).Range("$B$1").Address(True, True, , True), ScreenTip:="Zur Einzelteilbewertung"

    Wenn ich nun meine Datei umbenenne kommt bei klick auf den Hyperlink "Bezug ist ungültig".
    Was passt da nicht?

    Es ist ja nichts auf den Dateinamen referenziert...

    Danke
    Sagt der Hyperlink.

    Hier der funktionierende Code bzw Teile davon.
    Nur eben beim ändern des Dateinamens funkt. die Links nimmer.

    Visual Basic-Quellcode

    1. letztespalteV = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column + 1
    2. spalteV = 1
    3. Do
    4. spalteV = spalteV + 2
    5. letztezeileV = ActiveSheet.Cells(Rows.Count, spalteV).End(xlUp).row
    6. zeileV = -1
    7. Do
    8. zeileV = zeileV + 2
    9. Partnumber = Cells(zeileV, spalteV).Value
    10. Vorlagenname = Right(Partnumber, 31)
    11. Sheets(Vorlagenname).Activate
    12. Worksheets("Baumstruktur").Cells(zeileV, spalteV + 1).Formula = "=" & ActiveSheet.Range("G2").Address(External:=True) 'Statusbezug
    13. Sheets(Vorlagenname).Select
    14. Cells(3, 7) = "ZURÜCK"
    15. Worksheets(Vorlagenname).Hyperlinks.Add Address:="", Anchor:=Range(Cells(3, 7), Cells(3, 7)), _
    16. SubAddress:=Worksheets("Baumstruktur").Cells(zeileV, spalteV).Address(True, True, , True), ScreenTip:="Zur Baumstruktur"
    17. Sheets("Baumstruktur").Select
    18. Worksheets("Baumstruktur").Hyperlinks.Add Address:="", Anchor:=Range(Cells(zeileV, spalteV), Cells(zeileV, spalteV)), _
    19. SubAddress:=Worksheets(Vorlagenname).Range("$B$1").Address(True, True, , True), ScreenTip:="Zur Einzelteilbewertung" 'Hyperlink Baumstruktur Einzelteil
    20. Range(Cells(1, 2), Cells(2, 2)).MergeCells = True 'Statuszellen verbinden
    21. Range(Cells(zeileV, spalteV + 1), Cells(zeileV + 1, spalteV + 1)).MergeCells = True
    22. Loop Until zeileV = letztezeileV - 1
    23. Loop Until spalteV = letztespalteV - 1

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BöseSusi“ ()

    Wenn du deinen Code in VB-Tags packen würdest, wäre er lesbarer.

    Häng mal das hintendran und schau, was raus kommt.

    Visual Basic-Quellcode

    1. For Each hl in Worksheets("Vorlagen").Hyperlinks
    2. Debug.Print hl.Anchor.Address, hl.Address, hl.SubAddress
    3. Next

    Und dann adressierst du am besten nach der da angezeigten Methode und nicht so dermaßen umständlich.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Du solltest dir angewöhnen, die Fehlermeldungen exakter anzugeben.
    Vor allem bei welchem Code-Element sie geworfen werden.
    Welches Objekt unterstützt welche Methode nicht?
    Ist zwar hier offensichtlich, aber es macht keinen Spaß, wenn man permanent nachfragen muss.

    Da ist eine ungewollte C&P-Bremse eingebaut beim Worksheet-Namen.
    Einfach die korrekte Variable oder String-Konstante eintragen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Die Fehlermeldung kommt erst bei der Zeile

    Visual Basic-Quellcode

    1. Debug.Print hl.Anchor.Address, hl.Address, hl.SubAddress



    Danke für deine Mühe!

    Hab einige codebeispiele für links innerhalb eines Workbooks gesehen die gleich wie bei mir waren.
    Kann idhc nicht sein, dass diese beim umbennen nicht mehr funkt.
    Warum ist das so? steckt doch nirgends der Dateiname drinnen..