folgendes Problem: Ich habe einen Code, der mir aus archivierten Arbeitsmappen Daten ausliest und in eine neue Mappe schreibt.
Ziel ist eine statistische Auswertung von Messergebnissen.
Der Code funktioniert, ich habe ihn schon mehrfach für andere Auswertungen verwendet.
Leider können in dem Archiv von den über 400 Mappen einige vorhanden sein in denen das Arbeitsblatt das die Daten enthält fehlt.
Durch googeln bin ich recht schnell auf eine Funktion gestoßen, die sich mir erschließt und die Aufgabe erledigen sollte.
Leider weiß ich nicht, wie ich diese Funtkion aufrufen kann. Ich habe die letzten zwei Stunden selber rumprobiert, möchte das Thema aber wenn möglich heute noch abschließen.
Hier ist der Code:
Option Explicit
Public Function BlattVorhanden(BlattName As String) As Boolean
Dim Blatt As Object
Dim BlattVorhanden As Boolean
For Each Blatt In ActiveWorkbook.Sheets ' Namen aller Tabellen prüfen
If Blatt.Name = "Elution_pH_el. LF" Then
BlattVorhanden = True
Exit Function
End If
Next Blatt
BlattVorhanden = False
End Function
Sub Statistik_Projekt_LF()
Dim strFile As String
Dim strPfad As String
Dim i As Long
Dim wsZ As Worksheet
Dim wbkQ As Workbook
Workbooks.Add
Set wsZ = ActiveSheet
'Application.ScreenUpdating = False
strPfad = "Z:\Pfad zu den Berichten\"
strFile = Dir(strPfad & "*W pH LF*.xl*", vbNormal)
Do Until Len(strFile) = 0
With wsZ
Workbooks.Open strPfad & "\" & strFile
'WIE FÜHRE ICH AN DIESER STELLE DIE FUNKTION BlattVorhanden AUS?
If BlattVorhanden = True Then
i = IIf(.Cells(.Rows.Count, 1).End(xlUp).Row
Wie wird die Funktion korrekt aufgerufen? Die Beispiele die ich gefunden habe beziehen sich meistens auf die Übergabe von Argumenten, hier möchte ich eine Arbeitsmappe durchsuchen und kriege die Syntax nicht hin.
Gruß
Kai