VBA: Werte aus txt Datei untereinander in Excel

Bild

Betrifft: VBA: Werte aus txt Datei untereinander in Excel
von: Emre
Geschrieben am: 06.06.2015 12:55:16

Hallo,
mir ist es fast schon peinlich wieder euch zu fragen, weils jetzt schon so oft wurde.
Aber ich hoffe ihr könnt mir helfen. Gestern habe ich den Code um die Spalte A nach Notepad++ nicht untereinander, sondern nebeneinander zu exportieren gebraucht. Heute brauche ich genau das Gegenteil.
Die Werte die in Notepad++ nebeneinander durch ein Semikolon getrennt sind muss ich nach Excel untereinander in die Spalte A importieren. Einen passenden Code im Internet habe ich gefunden, der mir die Werte nebeneinander importiert. Getrennt durch das Semikolon habe ich sie auch noch. Was mir fehlt ist, ich brauche die Werte untereinander in Zelle 1, 2, 3, 4, 5 etc.
Der Code ist der hier, wo könnte man das verändern. Habe ein paar Sachen ausprobiert, jedoch nichts passendes finden können.

Sub VerLadeMichMal()
Dim strPfad As String
Dim lngFN As Long
Dim strText As String
Dim vntArrayZeilen As Variant
Dim lngZeileNr As Long
Dim vntArrayWerte As Variant
Dim lngSpalte As Long
Dim wksZ As Worksheet
Set wksZ = ActiveWorkbook.Worksheets("Tabelle1")
strPfad = "C:\Users\User\Desktop\Import_1.txt"
lngFN = FreeFile
Open strPfad For Binary As lngFN
 strText = Space(LOF(lngFN))
 Get lngFN, 1, strText
Close lngFN
vntArrayZeilen = Split(strText, vbCrLf, -1, 1)
  
For lngZeileNr = 0 To UBound(vntArrayZeilen)
 vntArrayWerte = Split(vntArrayZeilen(lngZeileNr), "; ", -1, 1)
 For lngSpalte = 0 To UBound(vntArrayWerte)
  If IsNumeric(vntArrayWerte(lngSpalte)) Then
   wksZ.Cells(lngZeileNr + 1, lngSpalte + 1).Value = Val(Replace(vntArrayWerte(lngSpalte), ",",  _
".", 1, -1, 1))
  Else
   wksZ.Cells(lngZeileNr + 2, lngSpalte + 1).Value = vntArrayWerte(lngSpalte)
  End If
 Next
Next
End Sub

Bild

Betrifft: AW: VBA: Werte aus txt Datei untereinander in Excel
von: Sepp
Geschrieben am: 06.06.2015 13:03:54
Hallo Emre,
so?

Sub VerLadeMichMal()
  Dim strPfad As String
  Dim lngFN As Long
  Dim strText As String
  Dim vntArrayWerte As Variant
  Dim wksZ As Worksheet
  
  Set wksZ = ActiveWorkbook.Worksheets("Tabelle1")
  
  strPfad = "E:\Temp\test.txt" '"C:\Users\User\Desktop\Import_1.txt"
  lngFN = FreeFile
  Open strPfad For Binary As lngFN
  strText = Space(LOF(lngFN))
  Get lngFN, 1, strText
  Close lngFN
  
  vntArrayWerte = Split(strText, ";")
  
  
  wksZ.Cells(1, 1).Resize(UBound(vntArrayWerte)) = Application.Transpose(vntArrayWerte)
  
End Sub



Gruß Sepp


Bild

Betrifft: AW: VBA: Werte aus txt Datei untereinander in Excel
von: Emre
Geschrieben am: 06.06.2015 13:08:53
Hallo Sepp,
den Pfad mit als Kommentar geschrieben, Danke :))
Ja, passt perfekt. Vielen vielen Dank.
Gruß Emre

Bild

Betrifft: Korrektur!
von: Sepp
Geschrieben am: 06.06.2015 14:02:16
Hallo Emre,
ein kleiner Fehler.
Diese Zeile muss so lauten:


wksZ.Cells(1, 1).Resize(UBound(vntArrayWerte) + 1) = Application.Transpose(vntArrayWerte)
Gruß Sepp


Bild

Betrifft: AW: Korrektur!
von: Emre
Geschrieben am: 06.06.2015 14:17:11
Hallo Sepp,
ich habe bei deinem Code nach dem Semikolon ein Leerzeichen hinzugefügt, da sonst die ganzen Werte in Excel ein Leerzeichen am Anfang hatten. Dadurch nahm er mir aber den letzten Wert nicht mehr rüber. Nachdem du den Teil im Code jetzt geändert hast, nimmt er den letzten Wert auch mit dem Leerzeichen nach dem Semikolon rüber, aber das Semikolon beim letzten Wert wird auch importiert.
Gruß Emre

Bild

Betrifft: AW: Korrektur!
von: Sepp
Geschrieben am: 06.06.2015 14:25:27
Hallo Emre,
dann werden die Leerzeichen wohl schon beim Export hinzugefügt.

Gruß Sepp


Bild

Betrifft: und außerdem..
von: Sepp
Geschrieben am: 06.06.2015 14:28:28
... wurde bei meinem Export-Code von gestern am Ende KEIN Semikolon hinzugefügt!

Gruß Sepp


Bild

Betrifft: AW: und außerdem..
von: Emre
Geschrieben am: 06.06.2015 18:11:20
Hallo Sepp,
ja beim Code von gestern nicht, da wurden die Werte durch Semikolons getrennt und der letzte Wert hatte eben auch einen am Ende.
Aber beim Import Code ist es momentan so, dass die ganzen Werte in der .txt-Datei auch durch Semikolons getrennt werden, der letzte Wert auch am Ende ein Semikolon hat. Der Unterschied hier ist, alle Werte werden in Excel aus der .txt-Datei untereinander ohne Semikolon und der letzte Wert der Reihe wird mit dem Semikolon zusammen nach Excel übernommen.
Das Problem ist der letzte Wert, er müsste auch ohne Semikolon nach Excel übernommen werden.
Gruß Emre

Bild

Betrifft: AW: und außerdem..
von: Emre
Geschrieben am: 06.06.2015 18:45:04
Hallo Sepp,
habe es glaub ich lösen können. Wenn ich beim letzten Wert nachdem Semikolon ein Leerzeichen hinzufüge, dann wird das Semikolon vom letzten Wert nicht mehr übernommen.
Gruß Emre

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Mauszeigeränderung unterdrücken"