Arbeitsmappen in eine neue Tabelle einlesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
CheckBox MsgBox
Bild

Betrifft: Arbeitsmappen in eine neue Tabelle einlesen
von: roneburger
Geschrieben am: 15.03.2005 08:53:49
Hallo,
habe ein Problem mit dem ich nicht weiter komme.
Ich habe eine Tabelle wo Excelarbeitsmappen eingelesen werden.
In der Zelle B1 steht die Pfadangabe für das später folgende Makro.
Ich habe die Tabelle bis jetzt auf meinem lokalen Rechner auf C:\ betrieben.
Die Arbeitsmappen die einzulesen sind liegen unter C:\Aktiv
Das funktioniert einwandfrei.
Wenn ich die Tabelle und die einzulesenden Arbeitsmappen auf den Server packe und den Pfad in B1 auf S:\(Server) ändere bekomme ich nur noch die Sanduhr zu sehen und die Dateien werden nicht eingelesen.
Was mache ich falsch?
Hier das Makro:
'MODUL 1 - ALLGEMEINES MODUL - Mappen und Zellen in einem Ordner auslesen
Option Explicit


Sub MappenEinesVerzeichnisListenZellInhaltAusgeben()
'TASTE AUSLESEN=ZWECK: EINLESEN VON ALLEN DATEIEN EINES ORDNERS UND EINLESEN BESTIMMTER TABELLEN UND ZELLEN IN DIESEN ORDNERN
'_______________________________________________________________________________________________________________________________
'In Zelle B1 wird der zu durchsuchende Ordner angegeben. Hier C:\Kiesinger\Kiesinger Aktiv
'_______________________________________________________________________________________________________________________________
'In B2 bis AU2 wird angegeben welche Tabelle der gefundenen Dateien ausgelesen werden sollen z.B "Vorgabe"
'_______________________________________________________________________________________________________________________________
'IN B3 bis AU3 wird angegeben welche Zelle ider der Tabelle ausgelesen werden soll z.B "E6"
'_______________________________________________________________________________________________________________________________
Dim iMZ As Integer    ' Mappenzähler
Dim iZZ As Integer    ' Zeilenzähler
Dim sName As String   ' Name der Mappe
Dim sPfad As String   ' Pfad/Ordner
'Abfrage der Checkbox 1 ob  Taste Auslesen gesperrt oder frei
If ActiveSheet.CheckBox1 = False Then Exit Sub
For iZZ = 1 To 3
  If Cells(iZZ, 2).Value = "" Or Len(Cells(iZZ, 2)) < 2 Then
    MsgBox "Bitte füllen Sie alle Felder aus." & vbCrLf & _
      "Nicht akzeptierte Angabe in Zelle " & Cells(2, iZZ).Address(0, 0)
    Exit Sub
  End If
Next iZZ
On Error GoTo MappenEinesVerzeichnisListenZellInhaltAusgeben_Error
ActiveSheet.Unprotect Password:="xxxx" 'Hier Aufhebung des Blattschutzes!
Application.ScreenUpdating = False
iZZ = 6
Range(Range("A6"), Range("AU" & Range("A6").End(xlDown).Row)).ClearContents 'Löschanweisung der Zellen bis "AU" für zu
                                                                           'aktualiesierende Zellen
If Right(Range("B1").Value, 1) <> "\" Then
  sPfad = Range("B1").Value & "\"
Else
  sPfad = Range("B1").Value
End If
With Application.FileSearch
  .LookIn = sPfad
  .FileType = msoFileTypeExcelWorkbooks
  .Execute
'WICHTIG= Nummer der Zelle angeben hier 1)2)3)4)5)6)7)8)9)10)....43!
  For iMZ = 1 To .FoundFiles.Count
    sName = Mid(.FoundFiles(iMZ), Len(sPfad) + 1)
    Cells(iZZ, 1).Value = Left(sName, Len(sName) - 4)
    Cells(iZZ, 2).Formula = "='" & sPfad & "[" & sName & "]" & Range("B2").Value & _
          "'!" & Range("B3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 3).Formula = "='" & sPfad & "[" & sName & "]" & Range("C2").Value & _
          "'!" & Range("C3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 4).Formula = "='" & sPfad & "[" & sName & "]" & Range("D2").Value & _
          "'!" & Range("D3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 5).Formula = "='" & sPfad & "[" & sName & "]" & Range("E2").Value & _
          "'!" & Range("E3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 6).Formula = "='" & sPfad & "[" & sName & "]" & Range("F2").Value & _
          "'!" & Range("F3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 7).Formula = "='" & sPfad & "[" & sName & "]" & Range("G2").Value & _
          "'!" & Range("G3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 8).Formula = "='" & sPfad & "[" & sName & "]" & Range("H2").Value & _
          "'!" & Range("H3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 9).Formula = "='" & sPfad & "[" & sName & "]" & Range("I2").Value & _
          "'!" & Range("I3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 10).Formula = "='" & sPfad & "[" & sName & "]" & Range("J2").Value & _
          "'!" & Range("J3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 11).Formula = "='" & sPfad & "[" & sName & "]" & Range("K2").Value & _
          "'!" & Range("K3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 12).Formula = "='" & sPfad & "[" & sName & "]" & Range("L2").Value & _
          "'!" & Range("L3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 13).Formula = "='" & sPfad & "[" & sName & "]" & Range("M2").Value & _
          "'!" & Range("M3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 14).Formula = "='" & sPfad & "[" & sName & "]" & Range("N2").Value & _
          "'!" & Range("N3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 15).Formula = "='" & sPfad & "[" & sName & "]" & Range("O2").Value & _
          "'!" & Range("O3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 16).Formula = "='" & sPfad & "[" & sName & "]" & Range("P2").Value & _
          "'!" & Range("P3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 17).Formula = "='" & sPfad & "[" & sName & "]" & Range("Q2").Value & _
          "'!" & Range("Q3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 18).Formula = "='" & sPfad & "[" & sName & "]" & Range("R2").Value & _
          "'!" & Range("R3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 19).Formula = "='" & sPfad & "[" & sName & "]" & Range("S2").Value & _
          "'!" & Range("S3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 20).Formula = "='" & sPfad & "[" & sName & "]" & Range("T2").Value & _
          "'!" & Range("T3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 21).Formula = "='" & sPfad & "[" & sName & "]" & Range("U2").Value & _
          "'!" & Range("U3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 22).Formula = "='" & sPfad & "[" & sName & "]" & Range("V2").Value & _
          "'!" & Range("V3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 23).Formula = "='" & sPfad & "[" & sName & "]" & Range("W2").Value & _
          "'!" & Range("W3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 24).Formula = "='" & sPfad & "[" & sName & "]" & Range("X2").Value & _
          "'!" & Range("X3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 25).Formula = "='" & sPfad & "[" & sName & "]" & Range("Y2").Value & _
          "'!" & Range("Y3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 26).Formula = "='" & sPfad & "[" & sName & "]" & Range("Z2").Value & _
          "'!" & Range("Z3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 27).Formula = "='" & sPfad & "[" & sName & "]" & Range("AA2").Value & _
          "'!" & Range("AA3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 28).Formula = "='" & sPfad & "[" & sName & "]" & Range("AB2").Value & _
          "'!" & Range("AB3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 29).Formula = "='" & sPfad & "[" & sName & "]" & Range("AC2").Value & _
          "'!" & Range("AC3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1
    Cells(iZZ, 30).Formula = "='" & sPfad & "[" & sName & "]" & Range("AD2").Value & _
          "'!" & Range("AD3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1
    Cells(iZZ, 31).Formula = "='" & sPfad & "[" & sName & "]" & Range("AE2").Value & _
          "'!" & Range("AE3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 32).Formula = "='" & sPfad & "[" & sName & "]" & Range("AF2").Value & _
          "'!" & Range("AF3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 33).Formula = "='" & sPfad & "[" & sName & "]" & Range("AG2").Value & _
          "'!" & Range("AG3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 34).Formula = "='" & sPfad & "[" & sName & "]" & Range("AH2").Value & _
          "'!" & Range("AH3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 35).Formula = "='" & sPfad & "[" & sName & "]" & Range("AI2").Value & _
          "'!" & Range("AI3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1
    Cells(iZZ, 36).Formula = "='" & sPfad & "[" & sName & "]" & Range("AJ2").Value & _
          "'!" & Range("AJ3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1
    Cells(iZZ, 37).Formula = "='" & sPfad & "[" & sName & "]" & Range("AK2").Value & _
          "'!" & Range("AK3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 38).Formula = "='" & sPfad & "[" & sName & "]" & Range("AL2").Value & _
          "'!" & Range("AL3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in( B1)
    Cells(iZZ, 39).Formula = "='" & sPfad & "[" & sName & "]" & Range("AM2").Value & _
          "'!" & Range("AM3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 40).Formula = "='" & sPfad & "[" & sName & "]" & Range("AN2").Value & _
          "'!" & Range("AN3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 41).Formula = "='" & sPfad & "[" & sName & "]" & Range("AO2").Value & _
          "'!" & Range("AO3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 42).Formula = "='" & sPfad & "[" & sName & "]" & Range("AP2").Value & _
          "'!" & Range("AP3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 43).Formula = "='" & sPfad & "[" & sName & "]" & Range("AQ2").Value & _
          "'!" & Range("AQ3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 44).Formula = "='" & sPfad & "[" & sName & "]" & Range("AR2").Value & _
          "'!" & Range("AR3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 45).Formula = "='" & sPfad & "[" & sName & "]" & Range("AS2").Value & _
          "'!" & Range("AS3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 46).Formula = "='" & sPfad & "[" & sName & "]" & Range("AT2").Value & _
          "'!" & Range("AT3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    Cells(iZZ, 47).Formula = "='" & sPfad & "[" & sName & "]" & Range("AU2").Value & _
          "'!" & Range("AU3").Value 'Liest die Tabelle und die Zelle der gefundenen Arbeutsmappen aus vorgebenen Ordner in (B1)
    iZZ = iZZ + 1
  Next iMZ
End With
Exit_here:
'Columns("A").AutoFit 'AutoFit bewirkt das die Spalte "A" sich der Grösse automatisch anpasst!
ActiveSheet.Protect Password:="xxxx", DrawingObjects:=True, Contents:=True, Scenarios:=True 'Hier Einschalten des Blattschutzes!
Application.ScreenUpdating = True
On Error GoTo 0
Exit Sub
MappenEinesVerzeichnisListenZellInhaltAusgeben_Error:
MsgBox "Fehler " & Err.Number & " (" & Err.Description & ")" & vbCrLf & _
  "in  der Prozedur MappenEinesVerzeichnisListenZellInhaltAusgeben des Moduls Modul1"
Resume Exit_here
End Sub

Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: Chris
Geschrieben am: 15.03.2005 09:08:47
Hi,
evtl. liegt es daran, dass du keinen extra Ordner auf dem Server genommen hast, dadurch werden alle Excel-Mappen auf dem Server betrachtet. Ich würde einen neuen Ordner anlegen und den Pfad entsprechend ändern!
gruss
Chris
Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: roneburger
Geschrieben am: 15.03.2005 10:03:29
Hallo Chris,
die Tabelle liegt auf dem Server S:\Personal\
Die Arbeitsmappen liegen auf dem Server S:\Personal\Kiesinger\Personal Aktiv.
Dieser Pfad für die zu suchenden Arbeitsmappen ist auch in B1 der Tabelle angegeben.
Ander Makros wie z.B. Mitarbeiter neu anlegen funktionieren auch mit der Pfadangabe.
Fällt jemanden dazu noch etwas ein, ich hab keine Ahnung mehr.
Gruss
roneburger
Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: Chris
Geschrieben am: 15.03.2005 10:19:41
Hi,
ich würde vorschlagen du gehst im Makroeditor mal in Zeile *With Application.FileSearch*
und drückst dort dann wird die Zeile rot. Dann starte mal das Makro, es wird nur bis zu dieser Zeile ausgeführt und es erscheint das Makrofenster, dann ist die Zeile gelb. Als nächstes würde ich mal mit schrittweise weitergehen. Vielleicht findest du dann die Stelle an der er so lange braucht - ich vermute es ist die Zeile * .LookIn = sPfad*.
Wenn nicht geh mal weiter bis eine Zeile nach * For iMZ = 1 To .FoundFiles.Count* und geh mit der Maus auf *.FoundFiles.Count* dann wird dir die Anzahl der gefundenen Exceldateien angezeigt - ist wahrscheinlich ziemlich hoch.
Falls nicht - gehen mir langsam die Ideen aus :o)
Gruss
Chris
Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: roneburger
Geschrieben am: 15.03.2005 10:39:56
Hallo,
ich habe leider im Moment keinen Zugriff auf den Server. Kann ich mich noch mal melden wenn ich dort was erreicht habe?
Gruss
roneburger
Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: Chris
Geschrieben am: 15.03.2005 11:55:06
Klar,
ich bin nachher auf einem ext. Termin, kann also sein, dass ich erst Morgen wieder reinschau - behalte dich aber im Blick. Außerdem hat bis dahin vielleicht auch schon ein anderer ne Idee.
Viel Erfolg beim Probieren
Chris
Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: roneburger
Geschrieben am: 15.03.2005 16:56:12
Hallo,
es ist tatsächlich so das ich für das einlesen von 6 Dateien ca 2,5 Minuten brauche. Es funktioniert also, nur super langsam. Lässt sich da was ändern.
Gruss
roneburger
Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: Chris
Geschrieben am: 15.03.2005 18:52:29
Hi,
ich denke mal es müsste an der Netzwerkverbindung zum Server liegen. Wenn man bei der Verbindung nichts machen kann, dann wüsste ich auch keinen Rat mehr. Vielleich kannst du ja überflüssige Dateien in dem Ordner löschen? - aber ich denke mal da sind keine überflüssigen Dateien drin???
Gruss
Chris
Bild

Betrifft: AW: Arbeitsmappen in eine neue Tabelle einlesen
von: roneburger
Geschrieben am: 16.03.2005 09:28:32
Hi
danke für deine Hilfe. Überflüssige Dateien gibt es nicht. Dann muss ich wohl mit der Geschwindigkeit leben. Besten Dank noch mal.
Gruss
roneburger
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Arbeitsmappen in eine neue Tabelle einlesen"