Thema Datum  Von Nutzer Rating
Antwort
09.09.2011 10:52:38 Frizzlefry
*****
Solved
09.09.2011 10:55:20 Frizzlefry
Solved
Rot Verzeichnise nach Datei durchsuchen, Zelleninhalt kopieren und in andere Datei schreiben
22.09.2011 10:31:37 Gast66103
Solved

Ansicht des Beitrags:
Von:
Gast66103
Datum:
22.09.2011 10:31:37
Views:
872
Rating: Antwort:
 Nein
Thema:
Verzeichnise nach Datei durchsuchen, Zelleninhalt kopieren und in andere Datei schreiben

Fals es jemanden interessiert, hab es so gelöst:

 

Option Explicit

Sub Makro1()

Dim fs, f, f1, fc, s, i
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("G:\030_Team\Support-Team\Students\Sprenger\Versuche\TabellenAuslesenVBA\")
Set fc = f.SubFolders

i = 2
  For Each f1 In fc
    Cells(i, 6) = f1.Name & "\"
    i = i + 1
  Next

'Neues Excel Objekt anlegen
'um die zu betrachtende Exceldatei abzulegen

    Dim objExcel        As New Excel.Application

'Sheet Objekt der jeweiligen Exceldatei anlegen
    Dim objSheet        As Object
    
'Anlegen der Hilfsvariablen
    Dim iRow            As Integer
    Dim strDateipfad    As String
    Dim strPfad         As String
    Dim strDateiname    As String
    Dim iVerzeichnisse  As Integer
    Dim strHauptpfad    As String
'Pfad in welchem sich die Dateien der zu
'kopierenden Zellen sich befinden auswählen
    
    strHauptpfad = "G:\030_Team\Support-Team\Students\Sprenger\Versuche\TabellenAuslesenVBA\"
    
'Schleife welche den Zelleninhalt aller aufgelisteten
'Dateien in mehrere Zellen des Hauptprogramms schreibt
    
    For iRow = 2 To 11

'Überprüfen, ob in Spalte "Dateiname" ein solcher eingetragen ist.
'Fals nicht, wird die Zeile mit einer Fehleranzeige übersprungen.
'(der Arbeitsvorgang wird fortgesetzt)

        If Cells(iRow, 2) = "" Then
        
            Cells(iRow, 3) = "X"
        
        Else
        
        
    For iVerzeichnisse = 2 To 5
        
        strPfad = strHauptpfad & Cells(iVerzeichnisse, 6)
        
        strDateiname = Cells(iRow, 2)
        strDateipfad = strPfad & strDateiname
            
'Überprüfen, ob die in der Tabelle angegebene Datei vorhanden ist.
'fals nicht, wird die Zeile mit einer Fehleranzeige übersprungen.
'(der Arbeitsvorgang wird fotzgesetzt)
            
            If Dir(strDateipfad) = "" Then
                Cells(iRow, 3) = "X"
            Else
                objExcel.Workbooks.Open strDateipfad
                Set objSheet = objExcel.Sheets("Sheet1")
                Cells(iRow, 1) = objSheet.Cells(25, 1)
                Cells(iRow, 3) = "-"
                GoTo DateiGefunden
            End If
        
        
       Next iVerzeichnisse
DateiGefunden:
     End If
    Next iRow

'Objekte (Mappe+Sheet) löschen
'Speicherdialog aufrufen

    objExcel.EnableEvents = False
    objExcel.DisplayAlerts = False

    objExcel.ActiveWorkbook.Close SaveChanges:=False
    objExcel.Quit

    Set objExcel = Nothing
    Set objSheet = Nothing

    Dim strDateinameNeu As String
    strDateinameNeu = "Tabelle mit Inhalt"
    
    Application.Dialogs(xlDialogSaveAs).Show "G:\030_Team\Support-Team\Students\Sprenger\" & strDateinameNeu

End Sub

 


Ihre Antwort
  • 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: Name: Email:



  • 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
09.09.2011 10:52:38 Frizzlefry
*****
Solved
09.09.2011 10:55:20 Frizzlefry
Solved
Rot Verzeichnise nach Datei durchsuchen, Zelleninhalt kopieren und in andere Datei schreiben
22.09.2011 10:31:37 Gast66103
Solved