| 
                              
                                  Thema
                              
                           | 
                          
                              
                                  Datum 
                           | 
                          
                              
                                  Von Nutzer
                           | 
                          
                              
                                  Rating
                           | 
                          
                               
                                  Antwort 
                           | 
                      
                      
  Eigene Funktion mit FileSystemObject  | 
13.09.2017 12:40:55 | 
Roman | 
 | 
 | 
 | 
13.09.2017 12:43:28 | 
Gast473 | 
 | 
 | 
 | 
13.09.2017 13:00:39 | 
Gast88200 | 
 | 
 | 
 | 
13.09.2017 14:23:07 | 
Gast26715 | 
 | 
 | 
 | 
13.09.2017 19:47:35 | 
Gast20905 | 
 | 
 | 
 | 
13.09.2017 19:48:36 | 
Gast20905 | 
 | 
 | 
 | 
19.09.2017 15:57:56 | 
Gast26558 | 
 | 
 | 
                  
    
                    
             
								 
									
										Von: 
                                            Roman | 
										Datum: 
                                            13.09.2017 12:40:55 | 
										Views:
                                             
                                            1438 | 
										Rating:
                                                                          | 
										Antwort: 
                                             
                                             
                                             | 
									
									
										Thema:
                                             
                                            Eigene Funktion mit FileSystemObject | 
									
									
										|  
                                            Guten Tag,
ich habe ein Problem beim erstellen einer eigenen Funktion in VBA. Der Einfangsparameter meiner eigenen Funktion is vom Typ eine Datei. Ich bekomme nicht raus, wie ich im Konstruktor der Funktion den Typ des Eingangsparameters richtig angebe.
Der Ausschnitt aus dem Code:
For monatstag_int = 1 To 31
    Dim myObj As Object
    Set myObj = CreateObject("Scripting.FileSystemObject")
    Dim verzeichnisRohdaten As Object
    Set verzeichnisRohdaten = myObj.GetFolder(verzeichnisDerRohdaten)
    
    For Each file In verzeichnisRohdaten.Files
        Dim dateiname As String
        dateiname = file.Name
        Dim tagesKennung_string As String
        tagesKennung_string = Mid(dateiname, 7, 2)
        Dim tagesKennung_int As Integer
        tagesKennung_int = CInt(tagesKennung_string)
        Dim tagesKennung_stringOhneNull As Integer
        tagesKennung_stringOhneNull = CStr(tagesKennung_int)
        If tagesKennung_int = monatstag_int Then
            ' Öffnen der aktuellen Rohdaten-Datei
            Workbooks.Open (file)
            ' Markieren und löschen der gesamten Spalte E
            ' Spalte E ist eine leere Spalte die nicht gebraucht wird
            Columns("E:E").Select
            Selection.Delete Shift:=xlToLeft
            ' Markieren des gesamten Zellenbereiches mit Daten
            ' Der Datenbereich ist von Zelle A2 bis Zelle E2017
            Dim zellenbereich As Range
            Set zellenbereich = Worksheets(1).Range("A:E")
            zellenbereich.Select
            [...]
        End If
Nun ist diese If-Schleife recht lang. Daher möchte ich die Ausführungen in eine eigene Funktion packen. Das Problem dabei ist nun, wie man im Konstruktor der Funktion den Eingangsparameter als File deklariert.
Der Versuch (klappt leider nicht - es heißt dass ein Object fehlt).
Habe die Funktion außerhalb des Sub geschrieben.
Function Durchlauf(datei As Object)
    
            ' Öffnen der aktuellen Rohdaten-Datei
            Workbooks.Open (file)
            ' Markieren und löschen der gesamten Spalte E
            ' Spalte E ist eine leere Spalte die nicht gebraucht wird
            Columns("E:E").Select
            Selection.Delete Shift:=xlToLeft
            ' Markieren des gesamten Zellenbereiches mit Daten
            ' Der Datenbereich ist von Zelle A2 bis Zelle E2017
            Dim zellenbereich As Range
            Set zellenbereich = Worksheets(1).Range("A:E")
            zellenbereich.Select
            [...]
End Function
For monatstag_int = 1 To 31
    Dim myObj As Object
    Set myObj = CreateObject("Scripting.FileSystemObject")
    Dim verzeichnisRohdaten As Object
    Set verzeichnisRohdaten = myObj.GetFolder(verzeichnisDerRohdaten)
    
    For Each file In verzeichnisRohdaten.Files
        Dim dateiname As String
        dateiname = file.Name
        Dim tagesKennung_string As String
        tagesKennung_string = Mid(dateiname, 7, 2)
        Dim tagesKennung_int As Integer
        tagesKennung_int = CInt(tagesKennung_string)
        Dim tagesKennung_stringOhneNull As Integer
        tagesKennung_stringOhneNull = CStr(tagesKennung_int)
        If tagesKennung_int = monatstag_int Then
            Durchlauf (datei = file)
        End If
Wäre super wenn jemand helfen kann. Habe schon lange gesucht ob irgendwo erklärt ist wie man ein File als Eingangsparameter definieren kann.
Danke schonmal
     | 
									
								
							
 					
		   
 
                          
                        
                                
                    - Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
 
                                        - Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
 
                        - Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
 
                        - Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
 
                        - Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei 
    Antworten auf Ihren Beitrag zu benachrichtigen
 
                                    
                            
                             
                          
	
                         
                                  
                             
                             Bitte geben Sie ein aussagekräftiges Thema an. 
                            
                            Bitte geben Sie eine gültige Email Adresse ein!
                            
                            
                       
                                - Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
 
                                        - Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
 
                        - Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
 
                        - Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
 
                        - Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei 
    Antworten auf Ihren Beitrag zu benachrichtigen
 
                                    
                        
                            
                        
                         
                                                  
 
                                       
                            
                      
                          | 
                              
                                  Thema                               
                           | 
                          
                              
                                  Datum 
                           | 
                          
                              
                                  Von Nutzer
                           | 
                          
                              
                                  Rating
                           | 
                          
                               
                                  Antwort 
                           | 
                      
                      
  Eigene Funktion mit FileSystemObject  | 
13.09.2017 12:40:55 | 
Roman | 
 | 
 | 
 | 
13.09.2017 12:43:28 | 
Gast473 | 
 | 
 | 
 | 
13.09.2017 13:00:39 | 
Gast88200 | 
 | 
 | 
 | 
13.09.2017 14:23:07 | 
Gast26715 | 
 | 
 | 
 | 
13.09.2017 19:47:35 | 
Gast20905 | 
 | 
 | 
 | 
13.09.2017 19:48:36 | 
Gast20905 | 
 | 
 | 
 | 
19.09.2017 15:57:56 | 
Gast26558 | 
 | 
 |