Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Konvertierung von Tabstopp getrennten Textdateien in xls Format mit VBA

Mitglied: Andre05308

Andre05308 (Level 1) - Jetzt verbinden

05.09.2011, aktualisiert 18.10.2012, 5231 Aufrufe, 8 Kommentare

Hallo Administrator.de User,

ich arbeite seit kurzem mit VBA um eine größere Menge von Messdaten in Excel zusammenzuführen und auszuwerten. In diesem Forum habe ich mich angemeldet, da ich schon vom mehreren Beiträgen profitiert habe und die Mitglieder schnelle und kompetente Antworten geben. Außerdem hoffe ich meine Fähigkeiten auszubauen um auch anderen Usern helfen zu können.

Ich bekomme von einem Programm Textdateien mit einem Zahlenteppich ausgeben, der eine variable Anzahl von Zeilen und Spalten hat.
Die Spalten sind durch Tabstopps getrennt und die Zeilen durch Zeilenumbrüche. Alle Dateien befinden sich im selben Verzeichnis und haben verschiedene Dateinamen.

Auszug des Inhalts einer Textdatei:

01.
0,26	0,35	0,41	0,46	0,47	0,48	0,49	0,50	0,52
02.
0,54	0,53	0,52	0,49	0,46	0,45	0,44	0,46	0,47
03.
0,49	0,51	0,48	0,45	0,45	0,50	0,50	0,60	0,69
04.
0,78	1,05	1,12	1,19	1,31	1,42	1,46	1,50	1,54
Nun möchte ich diese Dateien mit der Hilfe von VBA in eine Datei mit dem Format .xls umwandeln.
Die Dateinamen sollen bestehen bleiben.

Ich arbeite mit MS Office 2007

Ich hoffe ich habe keine wichtigen Informationen vergessen.

Vielen Dank im Voraus!
Mitglied: Skyemugen
05.09.2011 um 11:28 Uhr
Aloha,

du weißt aber, dass Excel die Datei auch simpel öffnen kann, wenn du die Endung von .txt in .xls umänderst? (um das für alle Dateien zu tun, reicht ein simpler cmd-oneliner )

Zwar meckert es einmalig beim Öffnen rum aber unterteilt dennoch sauber in Zeilen und Spalten (und man kann dann ja speichern klicken und schon wird es mit der Excelkonfiguration überschrieben)

greetz André
Bitte warten ..
Mitglied: 99045
05.09.2011 um 11:49 Uhr
Hi,

es gibt mehrere Möglichkeiten, die .txt mit Excel zu öffnen:

1. Rechtsklick auf die Textdatei > Öffnen mit > Excel
2. Verknüpfung zu Exec.exe erstellen, Textdatei mit Drag&Drop auf diese Verknüpfung ziehen
3. Exxel > Datei > Öffnen > Dateityp auf .txt stellen > Textdatei öffnen > Fragen nach der Formatierung beantworten (steht eigentlich schon richtig) > Textdatei auswählen > "Fertig stellen"

In allen Fällen als .xls speichern.

Umbenennen muss man die Textdatei dazu nicht.

Wenn's denn doch wirklich mit VBA sein muss: Das ist nicht mein Ding.

Gruß
Bitte warten ..
Mitglied: bastla
05.09.2011, aktualisiert 18.10.2012
Hallo Andre05308 und willkommen im Forum!

Vor laaanger Zeit habe ich hier mal etwas zu einem ähnlichen Thema (allerdings als VBS) verbrochen - wenn Du in Zeile 52 ein Komma weglässt, sollte auch "TAB" als Trennzeichen verwendet werden.

Grüße
bastla
Bitte warten ..
Mitglied: Andre05308
05.09.2011 um 14:48 Uhr
Vielen Dank für die schnellen und sehr hilfreichen Antworten, hat mir sehr geholfen!!! Ich bin echt begeistert von diesem Forum, habe nicht mit so schnellen Antworten gerechnet. Die Lösung von bastla hat mich schnell zm Ziel gebracht, ich musste lediglich noch das .csv in der .bat durch ein .txt ersetzen.

Eine Frage habe ich noch: Kann ich die VBS auch in ein Modul meiner PERSONAL.XLSB schreiben oder zumindest aus einem Modul aus aufrufen?

Oder sollte ich lieber versuchen mich auf VBS umzustellen und nur noch mit vbs Dateien arbeiten?

Grüße André
Bitte warten ..
Mitglied: bastla
05.09.2011 um 15:10 Uhr
Hallo Andre05308!
Kann ich die VBS auch in ein Modul meiner PERSONAL.XLSB schreiben?
Nicht 1:1 - aber Du könntest versuchen, Dich schrittweise an eine VBA-Version heranzutasten (einige Kommentare sind ja dabei); ein eigenes "Excel"-Objekt müsstest Du zB nicht erzeugen, wenn Du ohnehin schon Excel verwendest ...
sollte ich lieber versuchen mich auf VBS umzustellen und nur noch mit vbs Dateien arbeiten?
Nicht unbedingt - von der Systemebene her (wie zB Aufruf per Batch) ist VBS besser verwendbar, ansonsten ist VBA handlicher (Stichwort: Editor) und auf Office "zugeschnitten" - daher je nach Bedarf.

Grüße
bastla
Bitte warten ..
Mitglied: 99045
05.09.2011 um 15:13 Uhr
@bastla

Moin,

hab im Netz den Code gefunden, du kannst ihn ja evtl. für TAB anpassen, wenn du Lust hast? Ich mag VBA nicht.

01.
Option Explicit 
02.

03.
Sub Convert_CSV_to_XLS() 
04.
Dim i As Long, verz As String 
05.
Dim dateiForm As String 
06.
'Mit Backslash am Ende 
07.
verz = "C:\Ordner1\" 
08.
'Dateiform 
09.
dateiForm = "csv" 
10.
On Error GoTo fehler 
11.
ChDrive Left(verz, 2) 
12.
ChDir verz 
13.
With Application.FileSearch 
14.
    .NewSearch 
15.
    .LookIn = verz 
16.
    .SearchSubFolders = False 
17.
    .FileType = msoFileTypeAllFiles 
18.
    .Execute 
19.
     For i = 1 To .FoundFiles.Count 
20.
          Application.StatusBar = "Datei " & i & " von " & .FoundFiles.Count & " wird bearbeitet" 
21.
          If Right(.FoundFiles(i), 3) = dateiForm Then 
22.
               Application.ScreenUpdating = False 
23.
               Debug.Print .FoundFiles(i) 
24.
               Workbooks.Open .FoundFiles(i), local:=True 
25.
               ActiveWorkbook.SaveAs Left(.FoundFiles(i), Len(.FoundFiles(i)) - 3) & "xls" 
26.
               ActiveWorkbook.Close False 
27.
               Application.ScreenUpdating = True 
28.
          End If 
29.
     Next i 
30.
End With 
31.
ErrorExit: 
32.
Application.ScreenUpdating = True 
33.
Application.StatusBar = False 
34.
Exit Sub 
35.

36.
fehler: 
37.
MsgBox Err.Number & "; " & Err.Description 
38.
Resume ErrorExit 
39.
End Sub
Gruß
Bitte warten ..
Mitglied: bastla
05.09.2011 um 15:31 Uhr
@99045

Ich mag's zwar nicht testen, aber mit der folgenden Zeile 24 könnte das gehen:
               .Workbooks.OpenText .FoundFiles(i) , , , , , , True
Grüße
bastla
Bitte warten ..
Mitglied: 99045
05.09.2011 um 15:45 Uhr
Danke, bastla,
brauchst du auch nicht zu testen, es war nur als evtl. Tipp für den TO gedacht.

Gruß
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx)

gelöst Frage von Booster07Microsoft Office7 Kommentare

Hallo zusammen, ich habe sehr viele Textdateien, die z.B. im Ordner C:\Test\txt\ abgelegt sind. Nun will ich diese Textdateien ...

Windows Server

Direkte Konvertierung von Acronis .tib in Veeam Format möglich?

gelöst Frage von meinermeinerWindows Server8 Kommentare

Hallo Ist eine direkte Konvertierung von Acronis .tib (Acronis Backup & Recovery 11) in ein lesbares Format für Veeam ...

VB for Applications

Excel Makro zur Konvertierung einer xls oder xlsx in das Frormat xlsm

gelöst Frage von Armin-KVB for Applications3 Kommentare

Liebes Forum, vielleicht könnt Ihr mir wieder bei einem Problem aus der Excel-VBA umgebung weiterhelfen. Folgender Hintergrund dazu: In ...

VB for Applications

VBA Text mit Format übertragen und Zeichen ergänzen

gelöst Frage von Dau12345VB for Applications11 Kommentare

Hallo, ich habe ein Problem. Ich möchte den Text, der in einer Zelle steht, ergänzen. Bisher habe ich das ...

Neue Wissensbeiträge
Windows Server

Zähe Update-Installation auf Windows Server 2016

Information von kgborn vor 2 TagenWindows Server4 Kommentare

Mir sind in der Vergangenheit immer wieder Beschwerden von Admins unter die Augen gekommen, die sich über die doch ...

Humor (lol)
Turnschuhe per Firmware lahmlegen
Information von Henere vor 2 TagenHumor (lol)8 Kommentare

Und was kommt demnächst ? Bekomme ich kein Klopapier mehr, weil der Spender einem DDOS unterliegt ? :-) Ich ...

Sicherheit

Sicherheitsrisiko in WinRAR und Co. durch Schwachstelle in UNACEV2.DLL

Information von kgborn vor 2 TagenSicherheit

In der seit 2005 nicht mehr aktualisierten Bibliothek UNACEV2.DLL gibt es eine Path-Traversal-Schwachstelle. Diese ermöglicht es, bei ACE-Archiven Dateien ...

Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 3 TagenInternet6 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Heiß diskutierte Inhalte
Windows Tools
Dateiname Automatisch auf PDF Klartext oder als Barcode abdrucken
Frage von spongebob24Windows Tools29 Kommentare

Hallo Zusammen, habe eine tolle Anforderung bekommen. Ich sollte auf mehrere PDF Dateien Automatisch einen Stempel anbringen lassen. Toll ...

Internet
SDSL oder ADSL - Preis-Leistungs-Verhältnis
Frage von ZeppelinInternet22 Kommentare

Wehrte Community, der Unterschied dieser beiden Techniken ist recht einfach erklärt. Das S, steht für Synchron (Gleich) und das ...

Microsoft Office
MicroSoft und seine Lizenzen
Frage von ZeppelinMicrosoft Office20 Kommentare

Wehrte Community, ich wende mich an die Community weil MicroSoft dazu keine Stellung nehmen möchte. Ich öffne mein Web-Browser ...

Hyper-V
Setup zu 2019 Hyper-V Coreserver gesucht
Frage von DerWoWussteHyper-V17 Kommentare

Moin. Ich habe unter die Möglichkeit, Hyper-V-Server 2012 R2 runterzuladen! Tolle Wurst, Microsoft! Nehme ich eine andere Quelle, nämlich ...