Zum Inhalt springen

Datei in Excel zeilenweise einlesen und Trennung des Zeichenstrings ohne Trennzeichen


orange3000

Empfohlene Beiträge

Hallo,

wie kann ich mit VBA eine Datei zeilenweise einlesen und nach Datenfeld-Spezifikation trennen, die jedoch keine Trennzeichen enthält? Ich möcht angeben können, dass in die erste Spalte z.B. die ersten 4 Zeichen eingelesen werden, in die Zweite die nächsten 3, dann 5 etc... Am liebsten möchte ich die Zeichenlänge der einzelnen Datenfelder in ein Array schreiben, das dann für den Schleifendurchlauf jeweils die Länge heraussucht, um die Zeichenkette so zu splitten.

Ansonsten habe ich das schöne Skript aus diesem Forum, das ich unter dem Link http://forum.fachinformatiker.de/basic/43047-reinladen-textdatei-excel.html gefunden habe (ich hoffe, ich darf es hier wiedergeben).

Public Sub readInputFile()

Dim ff As Long

Dim sFile As String

Dim sLine As String

Dim arr() As String

Dim row As Long

Dim col As Long

Dim activCell As Range

ff = FreeFile

sFile = Application.GetOpenFilename("beliebige Datei,*.*")

'datei oeffnen

Open sFile For Input As #ff

'erste zelle markieren

Set activCell = Worksheets("Tabelle1").Range("A1")

Call activCell.Activate

While (Not EOF(ff))

Line Input #ff, sLine 'zeile einlesen

arr = Split(sLine, vbtab) 'an tabs aufspalten

For col = LBound(arr) To UBound(arr)

'relativ zur aktiven zelle den wert setzen

activCell.Offset(row, col).Value = arr(col)

Next 'i

row = row + 1

Wend

'schliessen

Close ff

End Sub

Das Einlesen klappt auch, allerdings muss auf diesem Weg ein Trennzeichen definiert werden (hier 'vbtab'). Wie geht das auch ohne, beim fortlaufenden String?

Danke und Gruß

orange3000

Link zu diesem Kommentar
Auf anderen Seiten teilen

Okay, diese Funktion kannte ich bisher nicht, so eine habe ich gesucht. Damit könnte es gehen... Jetzt muss ich das nur noch in eine Schleife einbinden, die mir die jeweiligen Stellen (von, bis) aus einem Array herausliest. Sollte ich eigentlich hinbekommen.

Vielen Dank schon mal, hat mir weitergeholfen!

Gruß

orange3000

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...