Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Dateien mit Dateinamen in Arbeitsblättern speichern
zurück: Wenn Coursor stelle erreicht, dann etw. ausführen weiter: bestimmte zeilen und rest kopieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
almdudler
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Jul 2009, 16:48
Rufname:

Dateien mit Dateinamen in Arbeitsblättern speichern - Dateien mit Dateinamen in Arbeitsblättern speichern

Nach oben
       Version: Office 2003

Liebe Forengemeinde,

ich würde gerne alle txt-Dateien aus einem Ordner in einer Excel-Datei speichern, wobei in jedes Tabellenblatt die Daten meiner txt-Dateien geschrieben werden.

Folgenden Code habe ich hier gefunden:
Code:

Sub Data()

Dim sSourcePath As String   

sSourcePath = InputBox("Pfad für Daten") & ("\")

Dim fso As Object, oFile As Object
Set fso = CreateObject("Scripting.FileSystemObject")

For Each oFile In fso.GetFolder(sSourcePath).Files    'Beginn Schleife

If LCase(Right(oFile.Name, 4)) = ".txt" Then     'Aussuchen der Dateiendung
Application.Workbooks.Open (oFile.Path)          'Excel Datei mit Dateinamen wie .txt Datei wird erstellt

End If

Next
   
End Sub

Dieser erstellt mir aber immer eine neue Excel Tabelle. Die Tabelle wie auch das Tabellenblatt haben war den richtigen Dateinamen, aber leider werden die Daten nicht auf verschiedene Tabellenblätter in eine Excel Tabelle geschrieben.
Ich denke, dass man den Befehl
Code:

Application.Workbooks.Open (oFile.Path)         

abändern müsste zu
Code:

Application.Workbooks.Worksheet.Open (oFile.Path)         

oder ähnlichem, aber leider habe ich damit bis jetzt keinen Erfolg gehabt.

Vielleicht kann mir ja wieder einer von Euch zum Erfolg verhelfen. Für Antwort wäre ich echt dankbar.
Phelan XLPH
Fortgeschritten


Verfasst am:
20. Jul 2009, 17:28
Rufname: Phelan


AW: Dateien mit Dateinamen in Arbeitsblättern speichern - AW: Dateien mit Dateinamen in Arbeitsblättern speichern

Nach oben
       Version: Office 2003

Hola,

hab mal angenommen dass die txt-Dateien als Trennzeichen ein "Tab" oder ";"
haben:

Code:
Sub OpenTextFileImportWriteAll()
    Dim fs As Object, f As Object
    Dim TxT As String
    Dim strDatei As String
    Dim strPfad As String
    Dim strSuchMuster As String
   
    Set fs = CreateObject("Scripting.FileSystemObject")
   
    strPfad = "d:\test\" 'Anpassen
    strSuchMuster = "file*.txt" 'Anpassen
   
    strDatei = Dir(strPfad & strSuchMuster, vbDirectory)
    Do While strDatei <> ""
        Set f = fs.OpenTextFile(strPfad & strDatei, 1, False, 0)
        Schreiben f.ReadAll
        f.Close
       
        Worksheets.Add after:=Worksheets(Worksheets.Count)
        With ActiveSheet
            .Name = Left(strDatei, Len(strDatei) - 4)
            .Paste .Range("A1")
            Range("A:A").TextToColumns .Range("A1"), _
            xlDelimited, xlTextQualifierDoubleQuote, , _
            Tab:=True, Semicolon:=True
        End With
        strDatei = Dir
    Loop
End Sub
Private Sub Schreiben(s)
    Dim clp As New DataObject
    With clp
        .SetText s
        .PutInClipboard
    End With
End Sub


Benötigt einen Verweis auf die Microsoft Forms 2.0 Object Library
...unter VBA->Extras->Verweise

_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
almdudler
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Jul 2009, 08:20
Rufname:

AW: Dateien mit Dateinamen in Arbeitsblättern speichern - AW: Dateien mit Dateinamen in Arbeitsblättern speichern

Nach oben
       Version: Office 2003

Hallo Glücksritter,

danke für Deine wiederholte Hilfe. Das klappt mit Deinem Makro wunderbar.
Da meine txt-Dateien aus nur einer Spalte bestehen, ist die Trennung mit „Tab“ oder „;“ für mich im Moment nicht weiter wichtig. Aber Danke für den Hinweis! Damit lässt sich das Makro sicher etwas einfacher für andere Bedürfnisse anpassen.

Leider bleiben bei einer neu geöffneten Excel Tabelle nach Durchlaufen Deines Makros die Tabellenblätter „Sheet1“ bis „Sheet3“ stehen. Diese entferne ich aber relativ einfach, indem ich am Ende Deiner Loop folgenden Code ergänzt habe:
Code:

Application.DisplayAlerts = False   'Warnmeldung über das Löschen der Datenblätter wird abgeschaltet
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Delete
Application.DisplayAlerts = True     'zukünftige Warnmeldungen werden wieder zugelassen

Nochmals vielen Dank für die viele Hilfe!
Phelan XLPH
Fortgeschritten


Verfasst am:
21. Jul 2009, 09:20
Rufname: Phelan


AW: Dateien mit Dateinamen in Arbeitsblättern speichern - AW: Dateien mit Dateinamen in Arbeitsblättern speichern

Nach oben
       Version: Office 2003

...Das wollte ich dir überlassen Smile
_________________
Was vorstellbar ist, ist auch machbar. - Albert Einstein
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Verknüpfung zweier Excel Dateien 11 Gast 89126 18. Apr 2012, 10:13
Der_teschter1967 Verknüpfung zweier Excel Dateien
Keine neuen Beiträge Excel Formeln: letzte benutzte Dateien unter "Datei" anzeigen 4 Reichmann 1294 16. Jul 2007, 11:08
Gast letzte benutzte Dateien unter "Datei" anzeigen
Keine neuen Beiträge Excel Formeln: Kundendaten speichern 5 ANTIVIRUS 1488 15. Mai 2007, 08:17
urs Kundendaten speichern
Keine neuen Beiträge Excel Formeln: Werte aus anderen Arbeitsblättern mit ZEILE() übernehmen 2 GabrielG 813 10. Apr 2007, 21:30
GabrielG Werte aus anderen Arbeitsblättern mit ZEILE() übernehmen
Keine neuen Beiträge Excel Formeln: csv Dateien 1 Lui 725 15. Jan 2007, 01:06
Hübi csv Dateien
Keine neuen Beiträge Excel Formeln: Daten automatisch speichern 1 sigi.hs 882 20. Dez 2006, 23:23
sigi.hs Daten automatisch speichern
Keine neuen Beiträge Excel Formeln: Zellen aus mehreren Arbeitsblättern 1 heino 607 15. Dez 2006, 16:38
Papa_Toni Zellen aus mehreren Arbeitsblättern
Keine neuen Beiträge Excel Formeln: Dateien verknüpfen 2 Sandra.TG 978 09. Okt 2006, 11:51
Alto Dateien verknüpfen
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Excel Formeln: dateinamen zusammenstellen 2 alex85 692 20. Jun 2006, 07:49
rainberg dateinamen zusammenstellen
Keine neuen Beiträge Excel Formeln: Summe bilden - Wert speichern *fridgenep* 6 Casiopaja 977 27. März 2006, 12:48
Casiopaja Summe bilden - Wert speichern *fridgenep*
Keine neuen Beiträge Excel Formeln: Daten automatisch speichern ? 1 Ich und Excel ... 971 28. Feb 2006, 20:47
Peter Marchert Daten automatisch speichern ?
Keine neuen Beiträge Excel Formeln: Daten aus mehreren Dateien und Arbeitsblättern auflisten 2 aloys 1434 14. Feb 2006, 19:43
aloys Daten aus mehreren Dateien und Arbeitsblättern auflisten
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps