AW: Leichte Verständnisprobleme... die 2.
08.04.2010 15:52:29
fcs
Hallo Claudia,
wie von Björn geschrieben benötigt man für den Hyperlink den kompletten Dateinamen.
Wenn die Namenserweiterung variiert, dann kann man per Makro prüfen, ob und welcher Dateiname vorhanden ist und dann ggf. die Formel vom Makro entsprechend eintragen.
Das folgende Makro muss du im VBA-Editor unter dem Tabellenblatt einfügen, in dem die Liste mit den Dateinamen steht. Den Bereich mit den Namen und ggf. Feinheiten der Formel muss du anpassen.
Gruß
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
'Formel für Hyperlink anpassen
Dim sGefunden$, sExtension$, iOffset%, Zelle As Range
If Intersect(Target, Range("B2:B20")) Is Nothing Then
Else
For Each Zelle In Target
If Zelle.Column = 2 Then 'Spalte B
iOffset = 0
'vorhandene Formeln in den 3 Zellen rechts von Target löschen
Range(Zelle.Offset(0, 1), Zelle.Offset(0, 3)).ClearContents
If Zelle "" Then
'Dateiname im Verzeichnis suchen
sGefunden = Dir(Range("S1") & Zelle.Text & ".*")
If sGefunden "" Then
Do
If iOffset = 3 Then
MsgBox "Zum Namen in Zelle " _
& Zelle.Address & " wurden schon " & iOffset & " Dateien gefunden", _
vbInformation + vbOKOnly, "HYPERLINK-Formel anpasen"
Exit Do
End If
'Formeln in Zellen rechts von Target eintragen
sExtension = Mid(sGefunden, Len(Zelle.Text) + 1)
iOffset = iOffset + 1
Zelle.Offset(0, iOffset).FormulaR1C1 = _
"=IF(R2C6=""Ja"",HYPERLINK(R1C19 & R[0]C[-" _
& iOffset & "] & """ & sExtension & """,""" & sExtension & """),"""")"
sGefunden = Dir
Loop Until sGefunden = ""
Else
MsgBox "Zum Namen in Zelle " & Zelle.Address & " wurde keine Datei gefunden", _
vbInformation + vbOKOnly, "HYPERLINK-Formel anpasen"
End If
End If
End If
Next
End If
End Sub