Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
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

Hyperlinks

Hyperlinks
25.04.2016 11:38:00
Jens
Hallo zusammen,
ich habe ein Problem und komme nicht recht weiter.
Zur Problemstellung:
Ich habe eine Maschinen Datenbank (Liste) in Excel erstellt.
Diese "Datenbank" wird mit Daten aus verschiedenen Prüfprotokollen gefüttert.
In diesen Prüfprotokoll werden alle Daten eingetragen wie Seriennummern von Pumpen oder anderen wichtigen Bauteilen. Das Prüfprotokoll wird dann in einem Ordner gespeichert. Die Datei bekommt dann den Namen des Maschinenauftrages (z.b 3001717.xlsm).
Um im Fall der Fälle aber sagen zu können welche Seriennummer eines Bauteils in welcher Maschine verbaut ist, nutze ich die Maschienen "Datenbank"
In dem Prüfprotokoll sammel ich in einer extra Seite nocheinmal alle wichtigen Daten. Diese lese ich dann mit der Maschinen Datenbank aus.
Somit habe ich eine Datei, in der ganz zu Anfang die Maschinenbezeichnung und die Auftragsnummer steht. Dahinter folgen dann die wichtigen Seriennummern.
Somit kann ich in dieser Datei nach einer Seriennummer filtern und genau sagen in welcher Maschine diese verbaut ist.
Nun haben aber auch die Vormontagen ein eigenes Protokoll. Das bedeutet, dass ich in dem Prüfprotokoll der Maschine nur die Auftragsnummer der Vormontage eingebe. Diese wiederum wird dann in die Datenbank übertragen.
Dieses möchte ich nun aber gerne in der Datenbak verlinken.
Leider bekomme ich das nicht hin. Am liebsten wäre es mir, wenn dieses automatisch beim Einlesen passiert. Es wäre aber auch nicht schlimm, wenn dieses über einen extra Button passiert.
Ablauf: Suche nach der datei xx.xlsm (bezug aus C4 und fortlaufend) in dem Ordner C:\.... und verlinke in C4 unter den Namen aus C4 (natürlich fortlaufend)
Kann mir da jemand weiter helfen?
Grüße
Jens

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

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks setzen
25.04.2016 17:40:20
Fennek
Hallo Jens,
ehrlich gesagt, in der für Foren üblichen Lesezeit habe ich sicher vieles von deinem Text nicht verstanden.
Du möchtest in einer vorhanden Liste mit Dateinamen "hyperlinks" setzen?
Teste einmal diesen Code. Die Namen aller *.xlsm Dateien werden ins Blatt geschrieben und die Hyperlinks gestzt.

Sub sDatei_Hyperlink()
sPath = "c:\temp\"
sFile = Dir(sPath & "*.xlsm")
Do While sFile  ""
i = i + 1
Cells(i, 1) = sFile
Cells(i, 1).Hyperlinks.Add anchor:=Cells(i, 1), Address:=sPath & sFile
sFile = Dir
Loop
End Sub
mfg

Anzeige
AW: Hyperlinks setzen
26.04.2016 11:59:18
Jens
Hallo zusammen,
ich habe mir schon gedacht, dass der Text zu lang ist..
Ich möchte nicht alle xlsm Dateien auflisten sondern nur die eine mit dem Namen aus Zelle C3.
Wenn dieser gefunden ist, soll der Name in Zelle C3 durch den Link ersetzt werden (der Link hat natürlich den gleichen Namen wie vorher) Also Wenn in Zelle C3 "3001801" stand, soll es nun ein Link sein der "3001801" heißt.
Grüße
Jens

AW: Hyperlinks setzen
26.04.2016 16:02:00
Michael
Hallo!
So? Geht am angegebenen Tabellenblatt Spalte C ab C3 bis zur letzten gefüllten Zelle durch, und durchsucht den angegebenen Pfad nach einer .xlsm-Datei mit dem Namen des jeweiligen Zell-Inhalts; existiert die Datei im Pfad, wird ein Hyperlink in die Zelle gesetzt.
Sub a()
'----- Anpassen ab hier -----
Const Pfad As String = "C:\DeinPfad" 'Durchsuchter Pfad (KEINE Unterordner!)
Const Blatt As String = "Tabelle1" 'Betroffenes Blatt
'----- Anpassen bis hier -----
Dim dName As String
Dim Bereich As Range
Dim Zelle As Range
With ThisWorkbook.Worksheets(Blatt)
'Zu prüfende Zellen ab C3 bis zur letzten gefüllten Zelle in C
Set Bereich = .Range("C3:C" & .Cells(.Rows.Count, 3).End(xlUp).Row)
'Wenn am o.a. Pfad eine .xlsm-Datei mit Namen aus der jeweiligen Zelle
'existiert, wird Hyperlink auf Zell-Inhalt (Text) gesetzt
For Each Zelle In Bereich
If Not IsEmpty(Zelle) Then
dName = Pfad & "\" & Zelle.Text & ".xlsm"
If Not Dir(dName) = vbNullString Then
Zelle.Hyperlinks.Add anchor:=Zelle, Address:=dName
End If
End If
Next Zelle
End With
End Sub
LG
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige