Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
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
Inhaltsverzeichnis

txt-Datei mit Punkt bei Abk. und Sp.Trennung

txt-Datei mit Punkt bei Abk. und Sp.Trennung
26.01.2018 23:06:36
Matthias
Hallo Liebe Excel Cracks,
ich möchte gern eine txt-Datei einlesen. Diese hat Punkte zur Spaltentrennung (nicht änderbar), Punkte bei diversen Abkürzungen und es kommen Zeilenumbrüche vor. Zur Verdeutlichung habe ich 2 txt-Dateien.
-https://www.herber.de/bbs/user/119312.txt, ausgelesene txt-Datei
-https://www.herber.de/bbs/user/119313.txt, diese txt-Datei
habe so bereinigt das die Zeilen und Spalten Zugehörigkeit zu ersehen ist
Die Liste wird auch in regelmäßigen Abständen aktualisiert werden müssen. Wobei sich in der Spalte Object keine Duplicate ergeben werden. Alle Objects die in der Spalte Release Status = Z9_freigegeben aufweisen werden sich nicht mehr ändern.
Bei allen andern Objects können sich Werte in den letzten 4 Spalten und in der Spalte Current Description ändern und müssen aktualisiert werden. Neue Objects sollen am Ende der Liste hinzugefügt werden.
Zum einlesen habe ich mir unten folgenden Code gebastelt und bin dann auf die beschriebenen Probleme gestoßen.
Über Eure Hilfe würde ich mich sehr freuen und wäre Euch sehr Dankbar.
Public Sub Daten_neu()
Dim datei1$
Dim lngZ As Long, Zeile1 As Long, nextZeile As Long
Dim SpObject As Long
Dim Spalte As Range
SpObject = 1
Zeile1 = 1
nextZeile = Zeile1 + 1
'file import ------------------------------------------------------------------------
Application.ScreenUpdating = False
datei1 = Application.GetOpenFilename("Textdateien (*.txt*), *.txt*")
If CStr(datei1) = CStr(False) Then
MsgBox "Sie haben keine Datei ausgewählt!", 48, "Keine Datei ausgewählt"
Exit Sub
End If
Workbooks.OpenText Filename:=datei1, DataType:=xlDelimited
Open "C:\Users\Public\zwsp.txt" For Output As #1
With ActiveSheet
Print #1, _
Join(WorksheetFunction.Transpose(.Range(.Cells(1, 1), _
.Cells(Rows.Count, 1).End(xlUp))), vbCrLf)
End With
Close #1
ActiveWorkbook.Close savechanges:=False
Open "C:\Users\Public\zwsp.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, tmp
ActiveSheet.Cells(Zeile1, 3) = Replace(tmp, ". ", ".#")
Zeile1 = Zeile1 + 1
Loop
Close #1
'-------- Liste bereinigen ----------------------------------------------------------
'---------------------------- Leerzeichen entfernen ---------------------------------
On Error Resume Next
Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
Zelle.Value = WorksheetFunction.Trim(Zelle.Value)
Next Zelle
On Error GoTo 0
'---------------------------- Leerzeichen nach # entfernen --------------------------
On Error Resume Next
Dim SuchenNach As String
Dim ErsetzenDurch As String
SuchenNach = "# "
ErsetzenDurch = "#"
For Each Zelle In ActiveSheet.UsedRange
Zelle.Value = Application.Substitute(Zelle.Value, SuchenNach, ErsetzenDurch)
Next Zelle
On Error GoTo 0
'---------------------------- alle . entfernen --------------------------------------
SuchenNach = "."
ErsetzenDurch = ""
For Each Zelle In ActiveSheet.UsedRange
Zelle.Value = Application.Substitute(Zelle.Value, SuchenNach, ErsetzenDurch)
Next Zelle
On Error GoTo 0
'-------- split Tabelle -------------------------------------------------------------
For lngZ = 1 To Zeile1 + 1
txt = Split(Cells(lngZ, 3), "#")
For y = 0 To UBound(txt)
Cells(lngZ, y + SpObject) = txt(y)
Next
Next
Rows("1:5").Delete
Rows("1:1").AutoFilter
For Each Spalte In ActiveSheet.UsedRange.Columns
Spalte.AutoFit
Next Spalte
Range("A1").Activate
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wenn du Links direkt einträgst, ...
26.01.2018 23:52:55
Luc:-?
…Matthias,
solltest du darauf achten, dass sie frei bzw zwischen Leerzeichen stehen, sonst erkennt die Forums­Software sie nicht automatisch und man kann sie folglich nicht als solche anklicken:
- https://www.herber.de/bbs/user/119312.txt → ausgelesene txt-Datei
- https://www.herber.de/bbs/user/119313.txt → diese txt-Datei
🙈 🙉 🙊 🐵 Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: Wenn du Links direkt einträgst, ...
27.01.2018 09:25:45
Matthias
Hallo Luc,
sorry das habe ich nicht gewusst, ich bin nicht so oft im Foren unterwegs.
Nun aber zu meinem Problem. Gibt es hierfür eine Lösung?
Ich kann mir auch eine .csv auslesen, denke aber das die Zellzugehörigkeit schon in der .csv Datei nicht Korrekt zugeordnet ist. Jedenfalls werde ich dies noch ausprobieren.
Ich denke das, das Problem schon darin liegt wie die Daten im auszulenen Progamm engetrgen werden.
Z.b. in der Spalte Change Description werden Punkte zum Abkürzen benutzt und Zeilenumbrüche mit Enter erzeugt.
Du hast ja freundlicher weise die beiden txt-Dateien korrekt eingefügt, Danke. Es sollte nun auch möglich sein für jeden der mir helfen möchte zu sehen was mein Problem ist.
Jedenfalls besten Dank für Eure Hilfe und Eure Zeit.
Schöne Grüße
Anzeige

169 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige