Text datei importieren und in tabelle sortieren
#1
Hallo ich bräuchte mal eure Hilfe

und zwar müßte ich die daten aus einer textdatei in excel importieren und sortieren. 
die datensätze sehen wie folgt aus:

Code:
[4410320160]
Variante="radial"
Hand=1
1338=0
1677=0
2268=0
64526=1
69419=1
Bez="KEA - Buchse"
AnzahlBehaelter="15"
Sensorvariante="passiv"
Kappen-/Tuelle="Kappe"
Steckerkonfektion=" "
Kabelvariante=""
Eingabetyp="Tastatur"

[4410320380]
Variante="radial"
Hand=3
1338=0
1677=6
2268=0
64526=1
69419=1
Bez="Litze + Kontakt"
AnzahlBehaelter="20"
Sensorvariante="passiv"
Kappen-/Tuelle=" "
Steckerkonfektion=" "


alle daten mit der eckigen klammer müßten in spalte a stehen. die daten mit variante in spalte b usw. Ich bekomme zwar die txt. datei in excel aber leider nur untereinander.
Vielen dank für eure hilfe


Angehängte Dateien
.txt   Sensorcodes.txt (Größe: 88,04 KB / Downloads: 16)
Antworten Top
#2
Hi,

"... die daten mit variante in spalte b usw..." = echt jetzt?

Bitte was sollen wir an "usw" verstehen?!
Sollen wir jetzt raten, in welche Spalten all die anderen Daten geschrieben werden sollen?
Sollen wir jetzt raten, dass du vielleicht ja gar nicht alle Daten aus der TXT-Datei in Excel haben willst?

Sorry, aber du MUSST uns wohl bitte - genau - erklären, welche Daten sollen in welche Spalten und vllt welche Daten brauchst du gar nicht.

Ciao
Thorsten
Antworten Top
#3
Hallo,

ein freundlicher Helfer sollte es lösen können.

Im ersten Schritt muss eine vollständige Liste der Spalten bestimmt werden.

1338
1677
2268
64526
69419
-------------------------------------------------------------------------------------
AnzahlBehaelter
Bez
Eingabetyp
Hand
Kabelvariante
Kappen-/Tuelle
Sensorvariante
Steckerkonfektion
Variante


Danach iist es nur noch Fließarbeit.

mfg
Antworten Top
#4
ja entschuldige bitte. da war ich wohl ein wenig zu faul um alle eckdaten rauszuschreiben.

Code:
[4410320160]  
Variante
Hand
1338
1677
2268
64526
69419
Bez
AnzahlBehaelter
Sensorvariante
Kappen-/Tuelle
Steckerkonfektion
Kabelvariante
Eingabetyp
also das sind die daten die ich jeweils als spalte brauche. das in den eckigen klammern muß immer in der spalte a sein.
Antworten Top
#5
Woher bekommst du die Daten? Macht es nicht mehr Sinn zu schauen ob man die Daten nicht aus der Quelle schon als Tabelle bekommt?

Eine Formel zur Umwandlung in die Tabelle wäre relativ einfach, aber nur wenn die einzelnen Abschnitte gleich lang wären und das sind sie bei dir nun einmal nicht - dadurch wird es etwas komplexer
Antworten Top
#6
Hi,

nur Test
Antworten Top
#7
Code:
Sub M_snb()
  sn = Split(Replace(CreateObject("scripting.filesystemobject").opentextfile("G:\OF\sensorcodes.txt").readall, Chr(34), ""), "[")
  ReDim sp(UBound(sn), 14)
 
  For j = 1 To UBound(sn)
    st = Split("[" & sn(j), vbCrLf)
    For jj = 0 To UBound(sp, 2)
      sp(j, jj) = st(jj)
      If InStr(sp(j, jj), "=") Then sp(j, jj) = Split(sp(j, jj), "=")(1)
    Next
  Next
 
  Cells(1).Resize(UBound(sp), UBound(sp, 2) + 1) = sp
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
Hi, anbei eine Testversion mit ein paar Formeln. Wenn du die Ausgabefelder noch inhaltlich einkürzen willst (also z.B. Variante="radial" --> radial) dann müsstest du die Formeln noch mit einsprechenden Textfunktionen verschachteln.

Beispiel für das Entfernen der Begriffe vor und mit dem =


Angehängte Dateien
.xlsx   Testdatei.xlsx (Größe: 188,76 KB / Downloads: 2)
.xlsx   Testdatei.xlsx (Größe: 187,18 KB / Downloads: 2)
[-] Folgende(r) 1 Nutzer sagt Danke an BigJane für diesen Beitrag:
  • Halber
Antworten Top
#9
(29.08.2024, 10:20)BigJane schrieb: Woher bekommst du die Daten? Macht es nicht mehr Sinn zu schauen ob man die Daten nicht aus der Quelle schon als Tabelle bekommt?

Eine Formel zur Umwandlung in die Tabelle wäre relativ einfach, aber nur wenn die einzelnen Abschnitte gleich lang wären und das sind sie bei dir nun einmal nicht - dadurch wird es etwas komplexer

das ist normalerweise eine .ini datei. die wurde mal von hand erstellt als es noch weniger abwandlungen waren. die maschine brauch diese datei für gewisse einstellungen der einzelnen abwandlungen. aber so langsam verliert man den überblick. deswegen sollte sie in eine excel tabelle. 


(29.08.2024, 11:11)snb schrieb:
Code:
Sub M_snb()
  sn = Split(Replace(CreateObject("scripting.filesystemobject").opentextfile("G:\OF\sensorcodes.txt").readall, Chr(34), ""), "[")
  ReDim sp(UBound(sn), 14)
 
  For j = 1 To UBound(sn)
    st = Split("[" & sn(j), vbCrLf)
    For jj = 0 To UBound(sp, 2)
      sp(j, jj) = st(jj)
      If InStr(sp(j, jj), "=") Then sp(j, jj) = Split(sp(j, jj), "=")(1)
    Next
  Next
 
  Cells(1).Resize(UBound(sp), UBound(sp, 2) + 1) = sp
End Sub

Danke. Hut ab das das so schnell gelöst wurde. Funktioniert wunderbar. 
Eine frage hätte ich noch. geht das auch noch in die andere richtung? also wieder aus der tabelle heraus mit der struktur in eine txt.datei
Antworten Top
#10
.SaveAs csv-Datei ?

Oder vielleicht so ?

Code:
Sub M_snb()
  Sheet1.UsedRange.Copy
   
  With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    .GetFromClipboard
    CreateObject("scripting.filesystemobject").createtextfile("G:\OF\sensorcodes_001.txt").write .GetText
  End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste