Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hyperlink per Formel erzeugen und per Makro öffnen

Forumthread: Hyperlink per Formel erzeugen und per Makro öffnen

Hyperlink per Formel erzeugen und per Makro öffnen
04.12.2017 15:12:30
Michael
Hallo liebes Forum,
ich suche schon seit Stunden in allen möglichen Foren, ohne Erfolg. Mein Problem ist folgendes:
Ich möchte per Steuerelement ein Makro aufrufen welches eine andere Arbeitsmappe öffnet. Den _ Link dazu generiere ich in einer Zelle mittels folgender Formel.

=HYPERLINK(LINKS(WECHSELN(WECHSELN(WECHSELN(ZELLE("dateiname");C2;C2+1);"[";"");"]";"");
LÄNGE(WECHSELN(ZELLE("dateiname");C2;C2+1))-18)) 

Dadurch verändere ich die Jahreszahl des Dateinamens.Sieht dann so aus:

C:\Users\Michael\Firma\Abrechnung\Vorlagen\Abrechnung Michael 2018.xlsm

Dieses Makro habe ich versucht zu benutzen:

Sub Link_zu_Jan_Folgejahr_Verdienst()
Sheets("Voreinstellungen").Select
Range("h23").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Sheets("Jan.Verdienst").Select
End Sub

Leider funktioniert es nicht. Bitte vielmals um eure Hilfe.
Danke
Micha
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hyperlink per Formel erzeugen und per Makro öffnen
04.12.2017 15:30:31
Markus
Hallo Mich.
Vermutlich verstehe ich die Fragestellung falsch.
Warum benutzt du nichtt einfach WorkBooks.Open
Gruß
Susmark
AW: Hyperlink per Formel erzeugen und per Makro
04.12.2017 15:50:32
Michael
Hallo Susmark,
wie würde dann der Code aussehen?
AW: Hyperlink per Formel erzeugen und per Makro
04.12.2017 20:44:31
Michael
Danke habs hinbekommen:
Sub Link_zu_Jan_Verdienst_Folgejahr()
Application.ScreenUpdating = False
Sheets("Voreinstellungen").Select
Application.Calculate
PathName = Range("H24").Value
Sheets("Jahrestabelle").Select
On Error GoTo Fehler
Workbooks.Open Filename:=PathName
Sheets("Jan.Verdienst").Select
Exit Sub
Fehler:
MsgBox "Die gesuchte Datei existiert nicht oder befindet sich nicht am richtigen Ort!"
Application.ScreenUpdating = True
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Hyperlink per Formel erzeugen und per Makro öffnen


Schritt-für-Schritt-Anleitung

  1. Hyperlink erzeugen: In einer Zelle kannst du einen Hyperlink generieren, der auf eine Datei verweist. Verwende dazu folgende Formel:

    =HYPERLINK(LINKS(WECHSELN(WECHSELN(WECHSELN(ZELLE("dateiname");C2;C2+1);"[";"");"]";"");
    LÄNGE(WECHSELN(ZELLE("dateiname");C2;C2+1))-18)) 

    Diese Formel passt den Dateinamen entsprechend an. In diesem Beispiel wird der Dateiname dynamisch erstellt.

  2. Makro erstellen: Um die Datei zu öffnen, kannst du ein VBA-Makro schreiben. Hier ist ein Beispiel, das auf die Zelle verweist, in der der Hyperlink steht:

    Sub Link_zu_Jan_Verdienst_Folgejahr()
       Application.ScreenUpdating = False
       Sheets("Voreinstellungen").Select
       Application.Calculate
       PathName = Range("H24").Value
       Sheets("Jahrestabelle").Select
       On Error GoTo Fehler
       Workbooks.Open Filename:=PathName
       Sheets("Jan.Verdienst").Select
       Exit Sub
    Fehler:
       MsgBox "Die gesuchte Datei existiert nicht oder befindet sich nicht am richtigen Ort!"
       Application.ScreenUpdating = True
    End Sub
  3. Makro ausführen: Füge das Makro einem Steuerelement zu, um es per Klick auszuführen. Dadurch wird die Datei geöffnet, die im Hyperlink angegeben ist.


Häufige Fehler und Lösungen

  • Fehler: „Die gesuchte Datei existiert nicht“
    Stelle sicher, dass der Pfad in der Zelle korrekt eingegeben wurde und die Datei existiert. Überprüfe auch, ob die Datei nicht verschoben oder umbenannt wurde.

  • Hyperlink öffnet nicht die richtige Datei:
    Stelle sicher, dass die Formel zur Generierung des Hyperlinks korrekt ist und keine zusätzlichen Leerzeichen oder falschen Zeichen enthält.


Alternative Methoden

  • Workbooks.Open verwenden: Anstelle eines Hyperlinks kannst du auch direkt den Befehl Workbooks.Open verwenden, um die gewünschte Datei zu öffnen. Dies macht dein Makro möglicherweise einfacher:

    Sub AlternativeLinkÖffnen()
       Dim filePath As String
       filePath = "C:\Users\Michael\Firma\Abrechnung\Vorlagen\Abrechnung Michael 2018.xlsm"
       Workbooks.Open Filename:=filePath
    End Sub
  • Verwendung von ActiveWorkbook: Wenn du mit mehreren Arbeitsmappen arbeitest, kann ActiveWorkbook nützlich sein, um den aktuellen Kontext zu behalten.


Praktische Beispiele

  1. Beispiel zur Nutzung von HYPERLINK:
    Angenommen, in Zelle H24 steht der Pfad C:\Users\Michael\Dokumente\Beispiel.xlsx. Die Formel =HYPERLINK(H24, "Öffne Beispiel") erzeugt einen klickbaren Link in der Zelle.

  2. Verwendung eines Makros zur Fehlerbehandlung:
    Das oben genannte Makro kann erweitert werden, um spezifische Fehler zu behandeln, wie z.B. ungültige Dateipfade oder Zugriffsprobleme.


Tipps für Profis

  • Verwende Variablen für Flexibilität: Anstatt feste Pfade zu verwenden, speichere Dateipfade in Zellen und greife dynamisch darauf zu. So kannst du die Pfade einfach ändern, ohne den Code anzupassen.

  • Fehlerprotokollierung: Implementiere eine einfache Protokollierung in deinem Makro, um Fehler zu dokumentieren und die Fehlersuche zu erleichtern.

  • Vermeide Select und Activate: Direkte Referenzen sind schneller und weniger fehleranfällig. Anstelle von Sheets("Voreinstellungen").Select, verwende Sheets("Voreinstellungen").Range("H24").Value.


FAQ: Häufige Fragen

1. Frage
Wie kann ich einen Hyperlink in Excel erstellen, der auf eine Datei verweist?
Antwort: Du kannst die Funktion HYPERLINK verwenden, um einen klickbaren Link zu erstellen, der auf einen Dateipfad verweist.

2. Frage
Wie öffne ich eine Arbeitsmappe mit VBA?
Antwort: Du kannst die Methode Workbooks.Open verwenden, um eine Arbeitsmappe zu öffnen, indem du den vollständigen Dateipfad angibst.

3. Frage
Gibt es eine Möglichkeit, Hyperlinks automatisch zu aktualisieren?
Antwort: Ja, du kannst ein Makro schreiben, das den Hyperlink bei Änderungen in den Zellen aktualisiert. Achte darauf, die Worksheet_Change-Ereignisse zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige