Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

komplette Textdatei in excel importieren

Frage Entwicklung VB for Applications

Mitglied: lena123

lena123 (Level 1) - Jetzt verbinden

02.11.2007, aktualisiert 03.11.2007, 18189 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Komplette Zeile aus Textdatei auslesen (3)

Frage von tegwert zum Thema Batch & Shell ...

Webentwicklung
Zahlenwerte von Webseite nach Excel importieren (5)

Frage von AKChris zum Thema Webentwicklung ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 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 ...

Neue Wissensbeiträge
Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(1)

Information von DerWoWusste zum Thema Microsoft ...

Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(5)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (16)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (15)

Frage von Lynkon zum Thema TK-Netze & Geräte ...