Microsoft Excel

Herbers Excel/VBA-Archiv

Mehrere Mappen öffnen mittels Pfad Angabe Auf AB

Betrifft: Mehrere Mappen öffnen mittels Pfad Angabe Auf AB von: Robert Aalderink
Geschrieben am: 20.09.2004 10:54:02

Hallo ihr allen,

Ich habe schon seit längerem ein Problem, wo ich absolut nicht weiter komme ohne eure Hilfe. Hoffentlich habt Ihr eine Lösung.

Auf einem Arbeitsblatt in Zelle A1 bis A9 habe ich Pfadangaben für diverse Mappen.

z.B.:
C:\TEST\testplan1.xls
C:\TEST\testplan2.xls
C:\TEST\testplan3.xls
C:\TEST\testplan4.xls
C:\TEST\testplan5.xls
C:\TEST\testplan6.xls
C:\TEST\testplan7.xls
C:\TEST\testplan8.xls

Ich möchte mit VBA alle diesen Mappen öffnen bis kein Eintrag mehr gefunden wird
Bis jetzt habe ich diesen Code gebastelt. Da ich aber eher VBA Amateur bin komme ich einfach nicht weiter als Mappe C:\TEST\testplan1.xls zu öffnen.

Sub TEST()
    
    Dim Count As Long
    Dim wks As Worksheet
    Dim iRow As Integer
    Dim sPath As String
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
    Set wks = ActiveSheet
    iRow = 1
    
    sPath = Cells(iRow, 1).Value
    
    On Error GoTo ERRORHANDLER

    Do Until IsEmpty(Cells(iRow, 1))
    
        iRow = iRow + 1
        Workbooks.Open sPath
        
    Loop
   
ERRORHANDLER:

    Application.EnableEvents = True
    Application.ScreenUpdating = True

End Sub


Ich Freue mich auf eure Hilfe.

Grüsse

Robert
  


Betrifft: AW: Mehrere Mappen öffnen mittels Pfad Angabe Auf AB von: Dr.
Geschrieben am: 20.09.2004 11:12:21

Die Pfadvariable ist nicht in den Schleifendurchlauf eingebunden und steht daher fix auf der ersten Zelle.


  


Betrifft: AW: Mehrere Mappen öffnen mittels Pfad Angabe Auf AB von: Robert Aalderink
Geschrieben am: 20.09.2004 11:26:43

Hallo,

Danke schon mal. Mein Problem ist jetzt aber dass ich nicht genau weiss, wie ich
Die Pfadvariable in den Schleifendurchlauf einbinden muss. Ich bin mit Schleifen nicht sehr bekannt. Sehen Sie da eine Möglichkeit weiter zu helfen?

Grüsse

Robert


  


Betrifft: AW: Mehrere Mappen öffnen mittels Pfad Angabe Auf AB von: Dr.
Geschrieben am: 20.09.2004 11:29:13

Einfach die spath= -Zeile unter das Do Until.... setzen und das irow=1 auf irow=0 setzen.


  


Betrifft: AW: Mehrere Mappen öffnen mittels Pfad Angabe Auf AB von: Robert Aalderink
Geschrieben am: 20.09.2004 14:16:28

Hallo,

Klappt bei mir doch nocht nicht wirklich. Mit iRow = 1 wird eine Mappe aufgemacht, mit iRow = 0 leider nicht. Wäre schön wenn der Code nochmal überprüft wird.


Option Explicit

Sub TEST()
    
    Dim Count As Long
    Dim wks As Worksheet
    Dim iRow As Integer
    Dim sPath As String
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
   
    Set wks = ActiveSheet
    iRow = 0    
    
    On Error GoTo ERRORHANDLER

    Do Until IsEmpty(Cells(iRow, 1))
        sPath = Cells(iRow, 1).Value
        Workbooks.Open sPath
       

        iRow = iRow + 1
        
        
    Loop
   
ERRORHANDLER:

    Application.EnableEvents = True
    Application.ScreenUpdating = True

End Sub



Danke

Robert


  


Betrifft: AW: Mehrere Mappen öffnen mittels Pfad Angabe Auf AB von: Otto
Geschrieben am: 21.09.2004 12:23:51

Hallo Robert,

Meine Testumgebung: Excel 9.0 SR-1, Multilingual unter Windows 2000 SP-4

Dein Hauptproblem ist, dass Du Dir in Deiner Routine sämtliche Fehlermeldungen unterdrückst. Damit ist ein Austesten schlicht nicht mehr möglich.
Also weg mit den Zeilen:
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    On Error GoTo ERRORHANDLER    

die kannst Du wieder einfügen, wenn das Ganze funktioniert.

Wenn diese Zeilen weg sind, wirst Du vermutlich sehen, dass die erste Datei gut geladen wird, aber danach der Zugrif auf den Namen der zweiten Datei nicht klappt. Das liegt an der Schreibweise Cells(iRow, 1). Dies greift auf das aktive Tabellenblat zu, und das ist jetzt ein Blatt in der gerade frisch geöffneten Mappe.
Du hast aber schon einen Ansatz zur Lösung in Deinem Code, die Variable wks. Die wird für die Lösung benötigt:
Option Explicit
Sub Haupt()
   Call TEST
End Sub  
Sub TEST()
   Dim wks As Worksheet  
   Dim lngRow As Long  
   
  'Application.ScreenUpdating = False
  'Application.DisplayAlerts = False
   Application.EnableEvents = False
   Set wks = ActiveSheet
   lngRow = 1
   With wks
      Do Until IsEmpty(.Cells(lngRow, 1))    
         Workbooks.Open .Cells(lngRow, 1).Value
         lngRow = lngRow + 1
      Loop
   End With  
   Application.EnableEvents = True
   Application.ScreenUpdating = True
End Sub  

Beachte den Punkt vor Cells!

Gruß Otto


  


Betrifft: AW: Mehrere Mappen öffnen mittels Pfad Angabe Auf AB von: Robert Aalderink
Geschrieben am: 21.09.2004 15:56:59

Danke Otto,

Deine Lösung und Erklärung haben mich sehr geholfen. Mappen werden jetzt, wie gewünscht geöffnet. Durch diese Lösung sind zwar wieder neue Fragen bei mir aufgekommen aber dies werde ich zuerst mal selber zu lösen versuchen.

Merci

Grüsse

Robert




 

Beiträge aus den Excel-Beispielen zum Thema "Mehrere Mappen öffnen mittels Pfad Angabe Auf AB"