Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datentransformation TXT2XLS die Zweite

Datentransformation TXT2XLS die Zweite
21.05.2008 16:19:51
christian
Hallo,
(speziell an Rudi, der mir den Code zur Verfügung stellte).
Ich habe für die Datentransformation von .txt- in .xls-files folgenden Code.

Sub TXT2XLS()
'Alle .txt (Trennzeichen Leerzeichen) eines Ordners in .xls umwandeln
Dim oFS As Object, oFolder As Object, oFile As Object
Dim strFolder As String
Const strDelimiter As String = " " 'Leerzeichen
Dim strTxt As String, myArr, lngL As Long, WKS As Worksheet, iFREE As Integer
With Application.FileDialog(4)
.InitialFileName = "c:\"
.InitialView = 2
.Title = "Bitte einen Ordner wählen"
If .Show = -1 Then
strFolder = .SelectedItems(1)
Else
Exit Sub
End If
End With
On Error GoTo FEHLER
DoEvents
Application.ScreenUpdating = False
Set oFS = CreateObject("scripting.filesystemobject")
Set oFolder = oFS.getfolder(strFolder)
iFREE = FreeFile
For Each oFile In oFolder.Files
If oFile.Name Like "*.txt" Then
lngL = 1
Open oFile For Input As iFREE
Set WKS = Workbooks.Add(1).Sheets(1)
Do Until EOF(iFREE)
Line Input #iFREE, strTxt
myArr = Split(strTxt, strDelimiter)
With WKS
.Range(.Cells(lngL, 1), .Cells(lngL, UBound(myArr) + 1)) = myArr
End With
lngL = lngL + 1
Erase myArr
Loop
Close #iFREE
With WKS.Parent
.SaveAs Replace(oFile, ".txt", ".xls"), xlWorkbookNormal
.Close False
End With
Set WKS = Nothing
End If
Next oFile
AUFRAEUMEN:
Set oFile = Nothing
Set oFolder = Nothing
Set oFS = Nothing
Application.ScreenUpdating = True
Exit Sub
FEHLER:
If Err.Number Then
MsgBox "Fehler!" & vbLf & Err.Description
Err.Clear
Resume AUFRAEUMEN
End If
End Sub


Das ganze erzeugt ein "konventionelles" Excel-tabellenblatt.
Wenn möglich würde ich das ganze noch etwas weiter treiben.
Kann man die Excel-Tabelle auf Basis eines Musters erstellen?
Er soll dann .xls-files nach diesem Mustertabellenblatt erstellen und die Werte hineinschreiben.
Aufgrund meiner extrem dürftigen Kenntnisse, frage ich:
Ist das machbar und wenn ja wie (muss der Code dann lauten)?
Danke im Voraus.
christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datentransformation TXT2XLS die Zweite
21.05.2008 17:38:00
Ramsesq
Hallo
Zeichne doch den Umbau deines eingelesenen Tabellenblattes gemäss dem Formblatt mit dem Makrorekorder auf und lass dies danach ablaufen. Dann hast du es.
Gruss Rainer

AW: Datentransformation TXT2XLS die Zweite
22.05.2008 08:05:00
christian
Hallo,
danke für den tipp. Dann werde ich so vorgehen.
Allerdings kann ich (mit meinem Kenntnisstand) nicht erkennen, an welcher Stelle des Codes dann die Erzeugung der .xls-file auf Basis des Musters entshehen soll.
Kannst du mir da weiterhelfen?
christian

AW: Datentransformation TXT2XLS die Zweite
22.05.2008 08:54:00
Ramses
Hallo
Wie soll dir da jemand helfen ?
Es weiss doch niemand welche Daten eingelesen werden und wo diese dann in welcher Form dann dargestellt werden sollen ?
Die eingelesenen Daten so umstellen wie sie sein sollen, Datei speichern unter..., und den aufgezeichneten Code, ohne Sub..() und End Sub() ans Ende des vorherigen Codes kopieren
Gruss Rainer

Anzeige
AW: Datentransformation TXT2XLS die Zweite
22.05.2008 09:31:00
christian
Hallo,
ich versuchs nochmal genauer darzustellen.
in jeder .txt-file standen zahlenwerte nur getrennt durch kommas. Für eine evtl. gafische auswertung ein "Datengrab". (Es handelt sich um über 100 .txt-files)
Der Code erzeugt mir aus jeder .txt-file eine .xls-file. Heißt er nimmt eine "nacktes" _ Tabellenblatt und überträgt die daten beginned bei Zelle A1.

(wo genau das in Rudis Code steht, kann ich leider nicht nachvollziehen)


Ich möchte folgendes erreichen:
Er soll nicht jeweils eine "nackte" Tabelle beschreiben, sondern die daten jeweils in die Kopie eines bereits existierenden Musters eintragen.
Für die, in Zukunft angestrebte, direkte Aufzeichnung in einer Tabelle dieses Musters, hatte mir Daniel bereits Hilfestellung gegeben: https://www.herber.de/forum/messages/979333.html
Den Übertrag der bereits existierenden daten möchte ich gleichsam in eine Kopie des Musters erreichen.
Ich erkläre gern noch weitere Unklarheiten.
christian

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige