Ordnernamen als Variable im Excel-Makro nutzen
Schritt-für-Schritt-Anleitung
Um den Ordnernamen als Variable in deinem Excel-Makro zu verwenden, kannst du die folgende Vorgehensweise nutzen:
-
Erstelle die Funktion JahrImPfad
: Diese Funktion ermittelt das Jahr aus dem Dateipfad.
Function JahrImPfad(intUnter As Integer) As Integer
Dim strT As String
If ThisWorkbook.Path <> "" Then
strT = Split(ThisWorkbook.Path, "\")(intUnter)
If Len(strT) = 4 And IsNumeric(strT) Then
JahrImPfad = Val(strT)
Else
JahrImPfad = 0
End If
End If
End Function
-
Verwende die Funktion in deinem Makro: Du kannst dann das Jahr in deinem Makro verwenden, um beispielsweise eine Datei zu öffnen.
Sub aTest()
Dim iJahr As Integer
iJahr = JahrImPfad(2) ' Ermittelt das Jahr aus dem zweiten Unterordner
Workbooks.Open Filename:="K:\Jahr" & iJahr & "\Monat01\FRANKFURT-" & iJahr & "01.XLT"
End Sub
-
Pfade anpassen: Achte darauf, dass die Pfade korrekt sind und die Struktur deiner Ordner den Annahmen der Funktion entspricht.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode zur Ermittlung des Jahres aus dem Dateipfad besteht darin, den gesamten Pfad nach der Jahreszahl zu durchsuchen. Hier ist ein Beispiel:
Function JahrImPfad() As Integer
Dim arrT() As String
Dim i As Integer
arrT = Split(ThisWorkbook.Path, "\")
For i = 0 To UBound(arrT)
If IsNumeric(arrT(i)) And Len(arrT(i)) = 4 Then
JahrImPfad = CInt(arrT(i))
Exit Function
End If
Next i
JahrImPfad = 0 ' Kein Jahr gefunden
End Function
Diese Funktion sucht nach einer vierstelligen Zahl im gesamten Pfad.
Praktische Beispiele
Hier sind einige praktische Beispiele zur Verwendung der Funktion JahrImPfad
:
Sub Beispiel1()
Dim iJahr As Integer
iJahr = JahrImPfad(1) ' Ermittelt das Jahr aus dem ersten Unterordner
MsgBox "Das Jahr ist: " & iJahr
End Sub
Sub Beispiel2()
Dim strDatName As String
strDatName = "20" & JahrImPfad(2) & "01.XLT"
MsgBox "Der Dateiname ist: " & strDatName
End Sub
Diese Beispiele zeigen, wie du das Jahr in verschiedenen Kontexten nutzen kannst.
Tipps für Profis
-
Globale Variablen: Du kannst das Jahr in einer globalen Variablen speichern, um die Anzahl der Funktionsaufrufe zu minimieren. Dies kann die Leistung deines Makros verbessern.
-
Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinen Makros, um unerwartete Situationen abzufangen.
-
Dokumentation: Kommentiere deinen Code ausführlich, damit du oder andere ihn später leichter verstehen können.
FAQ: Häufige Fragen
1. Wie kann ich die Funktion für andere Jahre anpassen?
Du kannst die Funktion JahrImPfad
so anpassen, dass sie auch Jahre außerhalb des Bereichs von 1945 bis 2032 akzeptiert, indem du die Bedingungen in der Funktion änderst.
2. Was mache ich, wenn ich mehrere Jahre im Pfad habe?
Du kannst die Funktion so anpassen, dass sie das erste oder letzte gefundene Jahr zurückgibt, je nach deinen Anforderungen.
3. Kann ich die Funktion in anderen Modulen verwenden?
Ja, du kannst die Funktion JahrImPfad
in jedem Modul verwenden, in dem du sie benötigst. Stelle sicher, dass sie sich im gleichen Arbeitsbuch oder in einem globalen Modul befindet.