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, 5061 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
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 ...

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 VBA Datei auswählen, dateipfad und dateiname ohne Format speichern, und in anderem Format speichern

gelöst Frage von Momo2016VB for Applications1 Kommentar

Hallo, ich bin noch relativ neu in VBA und bräuchte eure Hilfe. Und zwar möchte ich vom Benutzer eine ...

Neue Wissensbeiträge
Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 1 TagSonstige Systeme5 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Datenschutz

Microsoft und DSGVO - ob das wohl jemals klappt (Probleme beim Datenabfluss für Office Pro Plus)?

Tipp von VGem-e vor 1 TagDatenschutz3 Kommentare

Servus Kollegen, siehe Aber wer setzt schon MS Office Pro Plus ein? Wie dann der Stand beim "normalen" MS ...

Windows 10

Macht Windows 10.1809 Probleme mit gemappten Netzlaufwerken (betrifft wohl insbes. AMD-Hardware und Trend Micro AV-Produkte)?

Tipp von VGem-e vor 2 TagenWindows 103 Kommentare

Moin Kollegen, grad dazu gefunden und Hatten wir dies nicht bei früheren W10-Upgrades ebenfalls? Da bleibt nur, das Upgrade ...

Humor (lol)

Das neue Miniatur Wunderland OFFICIAL VIDEO - worlds largest model railway - railroad

Information von StefanKittel vor 2 TagenHumor (lol)2 Kommentare

Hallo, wer noch nie im Miniatur Wunderland war, sollte es dringend mal nachholen. Es gibt eine neues Video. Viele ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Gäste-WLAN durch DD-WRT AP nach einem MikroTik Routerboard
Frage von NukolarLAN, WAN, Wireless16 Kommentare

Hallo, wie der Titel schon sagt möchte ich gerne ein Gäste-WLAN innerhalb eines bestehenden LANs einrichten. Dass die Gäste ...

DSL, VDSL
DSL Monitoring Tool - Quick and dirty?
Frage von george44DSL, VDSL15 Kommentare

Liebe Gemeinde, ich suche ein einfaches und vor allem schnell zu installierendes Monitoring-Tool zur kontinuierlichen Dokumentation (nur) der Internetanbindung. ...

Exchange Server
Outlook findet Postfach nicht
Frage von MaximaxExchange Server13 Kommentare

Hallo, und zwar haben wir auf der Arbeit ein kleines (großes) Exchange 2016 Problem. Exchange meldete gestern, dass die ...

Microsoft
Schulungs-Microsoft-Konten zentral verwalten
Frage von thejarneMicrosoft9 Kommentare

Hallo zusammen, wir haben bei uns in der Firma 12 Computer-Arbeitsplätze für EDV-Schulungen, wo u.A. auch Computer-Basics-Kurse (wie verwende ...