Thema Datum  Von Nutzer Rating
Antwort
13.06.2008 16:33:40 Sabine
NotSolved
13.06.2008 19:06:53 jh
NotSolved
17.06.2008 12:53:24 Sabine
NotSolved
Blau Aw:Aw:Aw:Textdateien in Excel einlesen
18.06.2008 07:41:44 jh
NotSolved
19.06.2008 15:53:04 Sabine
NotSolved
20.06.2008 07:33:52 jh
NotSolved
21.06.2008 09:10:38 Sabine
NotSolved

Ansicht des Beitrags:
Von:
jh
Datum:
18.06.2008 07:41:44
Views:
1094
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:Textdateien in Excel einlesen
Hallo Sabine,

sorry, ich habe deine Antwort etwas spät bemerkt, weil ich
gar nicht mehr damit gerechnet hatte ;-)

Die Erweiterung des Makros ist kein Problem, es wird nur
etwas länger. Der neu zu erstellende Ordner für die neuen
Excel wird als Unterordner in dem Ordner angelegt, in dem
die Datei mit den Makros gespeichert ist, der Ordnername
wird vom Benutzer in einer InputBox festgelegt. Wenn du das
gern anders hättest, sollte das auch kein Problem sein.
Weil ich nicht weiß, wie groß deine Dateien sind, wird ein
neues Blatt eingefügt, wenn alle 256 Spalten voll sind.
Den Sound, der nach dem Ende des Einlesens erklingt, kannst
du bei Bedarf selbst festlegen, indem du beim Aufruf der
sndPlaySound-Function statt tada.wav eine andere WAV-Datei
angibst. Hier nun der Code, der komplett in ein Modul gehört:

Declare Function sndPlaySound Lib "winmm" Alias "sndPlaySoundA" ( _
ByVal lpszSound As String, ByVal uFlags As Long) As Long

Sub TextdateienEinlesen()
Dim strFileName As String, intFileNummer As Integer, _
strInput As String, lngZeile As Long, intSpalte As Integer, _
wbkA As Workbook, wksA As Worksheet, vntNeuOrdner As Variant, _
lngTemp As Long, blnFehler As Boolean
Const strOrdner As String = "C:\Text\"
' Beispiel, Backslash am Ende beachten!
strFileName = Dir$(strOrdner & "*.txt")
If strFileName <> "" Then
' neuen Ordner erstellen
Do
blnFehler = False
vntNeuOrdner = Application.InputBox(Prompt:="Aktueller Ordner: " & _
ThisWorkbook.Path & "\" & vbCrLf & _
"Geben Sie den Namen des zu erstellenden Ordners an:", _
Title:="Neuen Ordner erstellen", Type:=2)
If vntNeuOrdner = False Then ' Abbrechen geklickt
Exit Sub
Else
On Error GoTo Fehler
MkDir ThisWorkbook.Path & "\" & CStr(vntNeuOrdner)
On Error GoTo 0
End If
Loop Until blnFehler = False
lngTemp = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Do
Set wbkA = Workbooks.Add
Set wksA = wbkA.ActiveSheet
intFileNummer = FreeFile
lngZeile = 1
intSpalte = 1
Open strOrdner & strFileName For Input As #intFileNummer
Do
Line Input #intFileNummer, strInput
wksA.Cells(lngZeile, intSpalte) = strInput
lngZeile = lngZeile + 1
If lngZeile = 101 Then
lngZeile = 1
intSpalte = intSpalte + 1
If intSpalte = 257 Then
' letzte Spalte voll - neues Blatt anlegen
Set wksA = wbkA.Worksheets.Add(After:=wksA)
lngZeile = 1
intSpalte = 1
End If
End If
Loop Until EOF(intFileNummer)
Close #intFileNummer
wbkA.Worksheets(1).Activate
wbkA.SaveAs ThisWorkbook.Path & "\" & CStr(vntNeuOrdner) & "\" & _
Split(strFileName, ".")(0) & ".xls"
wbkA.Close
strFileName = Dir$
Loop Until strFileName = ""
End If
Application.SheetsInNewWorkbook = lngTemp
sndPlaySound "C:\Windows\Media\tada.wav", 0
Exit Sub
Fehler:
blnFehler = True
MsgBox "Der Ordner konnte nicht erstellt werden." & vbCrLf & _
"Geben Sie einen anderen Namen an.", vbOKOnly + vbExclamation, _
"Neuen Ordner erstellen"
Resume Next
End Sub

Gruß Jürgen


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
13.06.2008 16:33:40 Sabine
NotSolved
13.06.2008 19:06:53 jh
NotSolved
17.06.2008 12:53:24 Sabine
NotSolved
Blau Aw:Aw:Aw:Textdateien in Excel einlesen
18.06.2008 07:41:44 jh
NotSolved
19.06.2008 15:53:04 Sabine
NotSolved
20.06.2008 07:33:52 jh
NotSolved
21.06.2008 09:10:38 Sabine
NotSolved