Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

komplette Textdatei in excel importieren

Frage Entwicklung VB for Applications

Mitglied: lena123

lena123 (Level 1) - Jetzt verbinden

02.11.2007, aktualisiert 03.11.2007, 17759 Aufrufe, 2 Kommentare

Hallo,

mein Problem ist folgendes: Ich habe eine Textdatei mit Zahlen und Text, diese sind schon mit Tabs getrennt. Wenn ich mit Strg+a den Inhalt markiere und dann in Excel kopiere, werden die Werte richtig in die Zellen eingefügt.

Mit Workbooks.OpenText funktioniert es auch, allerdings möchte ich die Textdatei nicht in einem neuen Workbook öffnen sondern in meinem aktuellen workbook in tabelle 2, und evtl. sogar in eine bestimmte Zeile.

Wenn ich das ganze mit "Open test.txt For Input As #1 ..." versuche, habe ich das Problem dass nur mein Text ausgelesen wird und die Zahlen nicht.

Ich möchte nicht jede Textdatei einzeln öffnen und den Inhalt per Hand kopieren, sondern das ganze automatisch starten.

Kann mir da jemand helfen?

Vielen Dank.
Gruß lena
Mitglied: bastla
02.11.2007 um 18:33 Uhr
Hallo lena123!

"Workbooks.OpenText" wäre ja nicht so übel - öffnen, alles markieren und kopieren, an der gewünschten Stelle in der anderen Mappe einfügen, "Workbook.Saved" auf True setzen und wieder schließen - lässt sich im Prinzip als Makro aufzeichnen und erfordert eigentlich nur eine Anpassung hinsichtlich der Zieladresse.

Alternativ dazu kannst Du das "FileSystemObject" verwenden, um den Text zeilenweise einzulesen, aufzuteilen und in die passenden Zellen eintragen zu lassen - Vorgangsweise etwa so (ungetestet):
01.
... 
02.
'sDatei = Textdatei mit vollem Pfad 
03.
'wTabelle = Zieltabelle 
04.
'iRow = nächste freie Zeile der Zieltabelle 
05.
... 
06.
Set fso = CreateObject("Scripting.FileSystemObject" 
07.
Set oText = fso.OpenTextFile(sDatei, 1) 
08.
aGesamtText = Split(oText.ReadAll, vbCrLF) 'erzeugt ein Array - Inhalt: jeweils eine Textzeile 
09.
oText.Close 'Textdatei wurde vollständig gelesen, daher schließen. 
10.
 
11.
'Als Alternative zum Einlesen in einem Rutsch etwa folgendes Konstrukt: 
12.
'Do Until oText.AtEndOfStream / sLine = oText.ReadLine / ... siehe unten ... / Loop / oText.Close 
13.
 
14.
For Each sLine In aGesamtText 'Alle Zeilen durchgehen, ... 
15.
    aLine = Split(sLine, vbTab) '... anhand der enthaltenen Tabs in Arrayfelder zerteilen und ... 
16.
    With wTabelle 
17.
        .Range(.Cells(iRow, 1), .Cells(iRow, UBound(aLine) + 1)).Value = aLine '... als Array an passender Stelle in die Zieltabelle eintragen. 
18.
    End With 
19.
    iRow = iRow + 1 
20.
Next
Nützlich (da relativ gut nach VBA übertragbar) für ähnliche Situationen könnte auch KB306022 sein.

Grüße
bastla
Bitte warten ..
Mitglied: lena123
03.11.2007 um 15:08 Uhr
hallo bastla,

das mit dem "Workbooks.OpenText", markieren und kopieren ist eine gute Idee, wenn man selbst davor sitzt kommt man manchmal nicht auf die einfachste Lösung;)
Den Code werde ich auch noch ausprobieren.

Vielen vielen Dank!

Gruß lena
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
CSV-Datei nach Excel importieren (5)

Frage von mrvfbnummer2 zum Thema Batch & Shell ...

Microsoft Office
gelöst Txt Dateien in Excel importieren (9)

Frage von Serbitar zum Thema Microsoft Office ...

VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Outlook & Mail
Importieren von excel daten in outlook vba - Teil 2 (5)

Frage von Bgervais zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...