Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datei in Excel zeilenweise einlesen und Trennung des Zeichenstrings ohne Trennzeichen

Empfohlene Antworten

Veröffentlicht

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.