Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textdatei nach Excel

Textdatei nach Excel
31.05.2005 11:59:42
MichaelP
Hallo Zusammen,
ich bin gerade dabei eine Textdatei "Test.txt" in eine bereits bestehende Excelmappe als zusätzliches Tabellenblatteinzufügen, bzw. die Daten in ein bereits bestehndes einzufügen.
Ich habe den Befehl:
Workbooks.OpenText Filename:="Test.txt", DataType:=xlDelimited, other:=True, otherChar:="|"
benutzt. Dieser klappt auch. Nur erstellt er mir eine neue Mappe.
Oben ist beschrieben, wie man mir heelfen könnte. :)
Bis dann und danke für die Hilfe.
Gruß
Michael

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textdatei nach Excel
31.05.2005 12:14:32
Dominic
Ergänze den Code mit folgendem:
ActiveSheet.Copy After:=Workbooks("Datei").Sheets(1)
Gruß
Dominic
AW: Textdatei nach Excel
31.05.2005 12:17:31
bst
Hallo Michael,
verschiebe das einzige Blatt der neuen Mappe danach. Dadurch wird die neue Mappe
dann auch automatisch geschlossen.
Wenn Dir das nicht gefällt, mußt Du's wohl per Hand selber programmieren ...
cu, Bernd
--
Dim ws As Worksheet

Set ws = ActiveSheet
Workbooks.OpenText Filename:="d:\temp\Test.txt", DataType:=xlDelimited, other:=True, otherChar:="|"
ActiveSheet.Move after:=ws
AW: Textdatei nach Excel
31.05.2005 13:45:38
MichaelP
Danke für diese Tipps.
Eine möglichkeit an ein bereits vorhandenes Tabellenblatt die daten anzufügen kennt Ihr nicht?
Bis dann
Michael
Anzeige
AW: Textdatei nach Excel
31.05.2005 14:04:47
bst
Hi Michael,
doch. Handarbeit eben ;-)
Ziemlich ungetestet ...
HTH, Bernd
--
Option Explicit

Sub LiesMich()
Dim fname As Variant
fname = Application.GetOpenFilename("Text (*.txt),*.txt,Alle,*.*", , "Öffne mich...")
If fname <> False Then doLiesMich CStr(fname)
End Sub


Sub doLiesMich(fname As String)
Dim i As Long, j As Integer
Dim handle As Integer
Dim aLine As String, aVal() As String
i = IIf(Cells(Rows.Count, 1).Value = "", Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
handle = FreeFile
Open fname For Input As #handle
While Not EOF(handle)
i = i + 1
If i > Rows.Count Then
MsgBox "PANIC in doLiesMich: Tabelle ist voll", vbCritical, "doLiesMich"
Close #handle
Exit Sub
End If
Line Input #handle, aLine
aVal = Split(aLine, "|")
For j = 0 To UBound(aVal)
Cells(i, j + 1).Value = aVal(j)
Next
Wend
Close #1
End Sub

Anzeige
AW: Textdatei nach Excel
31.05.2005 14:14:53
bst
Nachtrag,
da hat das Fehlerteufelchen mal wieder zugeschlagen ;-(
Nimm anstatt:
Close #1
besser:
Close #handle
cu, Bernd
AW: Textdatei nach Excel
31.05.2005 14:12:19
MichaelP
Hallo unds nochmal danke.
Habe gerade meine Lösung ins Netzt gestellt. Sie funktioniert. Aber ist sie so wirklich schön? Für eien verbesserung bin ich dankbar, über jede andere Meinung auch ;)
Beispiel:

Sub Test()
'Variablendeklaration
Dim str1Workbook As String
Dim str2Workbook As String
'Name speichern
str1Workbook = ActiveWorkbook.name
'Oeffnen des test_File
Workbooks.OpenText Filename:="H:\My Documents\test.txt", DataType:=xlDelimited, other:=True, otherChar:="|"
str2Workbook  = ActiveWorkbook.name
'Beschriften und auswaehlen der aktuellen Sap-Daten aus dem .txt File
ActiveSheet.name = "Data"
Cells.Select
Selection.Copy
'Auswählen des Projektplans
Workbooks(str1Workbook).Activate
Tabelle12.Select
Cells.Select
ActiveSheet.Paste
'Zwischenspeicher löschen und File schliessen
Application.CutCopyMode = False
Workbooks(str2Workbook).Close SaveChanges:=False
End Sub

Anzeige
AW: Textdatei nach Excel
31.05.2005 14:24:49
bst
Hi again,
ich würde mir Verweise auf die Mappen merken, nicht deren Namen.
Und dann auf Activate's und Select's so weit wie möglich verzichten.
Versuch's vielleicht mal so. Ungetestet.
FWIW, letztendlich tut das auch nicht viel anderes als mein Vorschlag mit dem Move, oder ?
cu, Bernd
--

Sub Test_02()
Dim ws As Worksheet
Set ws = ActiveWorkbook("Tabelle12")
Workbooks.OpenText Filename:="H:\My Documents\test.txt", DataType:=xlDelimited, other:=True, otherChar:="|"
Cells.Copy ws.Cells(1, 1)
ActiveWorkbook.Close False
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige