Ordnerpfad ersetzen: ThisWorkbook.Path
Alex
Ich habe ein Problem bei der Verwendung ThisWorkbook.Path in meinem Code.
Die Datei DSA.xls bezieht Daten aus der Datei Mannschaft_1.xls per VBA-VLookup.
Beide Dateien befinden sich in der gleichen Ordnerstruktur bis zum Ordner Training.
Dann sind sie jeweils in anderen Ordnern jedoch auf der gleichen Ebene wie die andere Datei.
Ablageort der Datei Mannschaft_1.xls: 'C:\Ablage\Training\Daten\[Mannschaft_1.xls]Tabelle1'!
Ablageort der Datei DSA (bezieht von Mannschaft_1.xls Daten per VLookup): 'C:\Ablage\Training\Sport\[DSA.xls]Leistungen DSA'!
Da sich der Ordner Ablage wechselnd auf verschiedenen Festplatten/Partitionen befindet und sich damit die Bezeichnung des Ordnerpfades (beispielsweise von C: nach F:) versuche ich nun
den gemeinsamen Teil des Pfades für beide Dateien ('C:\Ablage\Training\) mit ThisWorkbook.Path zu ersetzen.
Alter Code (der Datei DSA.xls):
Private Sub Workbook_Open()
ActiveSheet.Unprotect
Range("A1").Value = Application.UserName
With Range("B1")
.Formula = "=VLookup(" & Range("A1") & "," & _
"'C:\Ablage\Training\Daten\[Mannschaft_1.xls]Tabelle1'!K5:N200, 4, False)"
.Formula = .Value
End With
Range("D5").CurrentRegion.AutoFilter _
Field:=1, Criteria1:=Range("B1").Value, Operator:=xlAnd
ActiveSheet.Protect , userinterfaceonly:=True
ActiveSheet.EnableAutoFilter = False
End Sub
Neuer (nicht funktionierender) Code:Private Sub Workbook_Open()
ActiveSheet.Unprotect
Range("A1").Value = Application.UserName
With Range("B1")
.Formula = "=VLookup(" & Range("A1") & "," & _
ThisWorkbook.Path & "'\Daten\[Mannschaft_1.xls]Tabelle1'!K5:N200, 4, False)"
.Formula = .Value
End With
Range("D5").CurrentRegion.AutoFilter _
Field:=1, Criteria1:=Range("B1").Value, Operator:=xlAnd
ActiveSheet.Protect , userinterfaceonly:=True
ActiveSheet.EnableAutoFilter = False
End Sub
Kann jemand helfen?Grüße
Alex