Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
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
Inhaltsverzeichnis

Zelleninhalt mit automatischer Verknüpf

Zelleninhalt mit automatischer Verknüpf
10.03.2023 06:48:58
Kurte
Hallo,
Ist es möglich über einen VBA Code den Zelleninhalt in
Spalte A (z.B. "2PR23-00123" oder "2PR23-00124" usw.) mit einem Ordner (L:\Testordner\2PR23-00123 Testprojekt\Planungsverlauf.one)
zu verknüpfen. Die Datei heißt in dem Fall immer gleich. Nur der Ordner 2PR23-00123........hat halt noch etwas hinten dran.;-)
Ich denke für euch Experten iat das doch kein Problem.
Ich weiss das das auch mit Hyperlink ganz einfach funktioniert. Nur leider ist die Datei freigegeben und ist in ständiger Bearbeitung von Irgendjemanden.
Deswegen such ich eine andere Lösung.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt mit automatischer Verknüpf
10.03.2023 09:50:16
ChrisL
Hi
Dein Argument gegen Hyperlink (ich nehme an, du meinst die Formel), kann ich nicht so richtig nachvollziehen. Wäre aus meiner Sicht die sinnvollste Lösung, auch wenn der Link dann nicht in der gleichen Zelle steht.
Für VBA kann ich dir ChatGPT (Link im Forumstitel) empfehlen. Die Frage, wie ich sie gestellt habe (kursiv) kannst du auch noch etwas präzisieren oder ergänzende Nachfragen stellen. Die künstliche Intelligenz ist geduldig.
cu
Chris
excel vba. wenn in spalte a eine änderung erfolgt, lösche den hyperlink der betroffenen zellen und füge einen neuen hyperlink hinzu, welcher auf einen vordefinierten dateipfad verweist mit dem zelleninhalt als variabler dateiname.
Das folgende VBA-Code-Beispiel sollte die von Ihnen beschriebene Aufgabe ausführen:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Set KeyCells = Range("A:A") ' Überwachen von Änderungen in Spalte A
    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        ' Wenn eine Änderung in den überwachten Zellen stattgefunden hat:
        Application.EnableEvents = False ' Deaktiviere Ereignisverarbeitung, um Endlosschleifen zu vermeiden
        ' Schleife über jede geänderte Zelle
        For Each cell In Target
            If cell.Hyperlinks.Count > 0 Then
                cell.Hyperlinks(1).Delete ' Lösche vorhandenen Hyperlink
            End If
            If Len(cell.Value) > 0 Then ' Wenn Zelleninhalt nicht leer ist
                cell.Hyperlinks.Add Anchor:=cell, Address:="C:\Pfad\zum\Verzeichnis\" & cell.Value & ".xlsx" ' Füge neuen Hyperlink hinzu
            End If
        Next cell
        Application.EnableEvents = True ' Aktiviere Ereignisverarbeitung wieder
    End If
End Sub
Dieser Code wird in das VBA-Modul für das betreffende Arbeitsblatt (Rechtsklick auf das Registerblatt, dann "Code anzeigen" wählen) eingefügt. Es wird das "Worksheet_Change"-Ereignis des Arbeitsblatts abgefangen und überwacht, ob Änderungen in Spalte A vorgenommen wurden. Wenn dies der Fall ist, wird für jede geänderte Zelle der vorhandene Hyperlink gelöscht und ein neuer Hyperlink mit dem Zelleninhalt als variabler Dateiname hinzugefügt.
Bitte stellen Sie sicher, dass der Dateipfad im Code auf Ihren tatsächlichen Pfad angepasst wird.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige