Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

TXT Datei einlesen


Betrifft: TXT Datei einlesen von: Manfred
Geschrieben am: 27.07.2017 14:52:22

Hallo zusammen,

habe das Makro zum einlesen von TXT-Dateien (Messdaten) aus den Tiefen des Internet.

Sub Importieren()

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

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False


ff = FreeFile
sFile = Application.GetOpenFilename("Textdateien (*.txt), *.txt", 0, "Wählen der Datei für  _
Import")

If sFile = "" Then
MsgBox "Der Dateiimport ist fehlgeschlagen!"
Else
'datei oeffnen
Open sFile For Input As #ff
'erste zelle markieren
Set activCell = Worksheets("Tab1").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

'MsgBox "Die Daten wurden erfolgreich importiert!"

End If

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub
Nun habe ich das Problem dass ich die sogenannte Wissenschaftliche Zahl 2,00E+01 nicht in eine Zahl umwandeln kann.

Kennt jemand dieses Problem ?

Mit freundlichen Grüßen
Manfred

  

Betrifft: AW: TXT Datei einlesen von: Zwenn
Geschrieben am: 27.07.2017 15:14:58

Hallo Manfred,

ich habe mir den Code des Makros nicht angesehen. Aber wenn ich Deine Zahl 2,00E+01 in eine Exceltabelle einfüge, dann wird die Zelle von Excel automatisch auf das Wissenschaftliche Zahlenformat eingestellt. Wenn man nun das Zellenformat auf Zahl ändert, erscheint die erwartete 20. Vielleicht löst das Dein Problem bereits.

Viele Grüße,

Zwenn


  

Betrifft: AW: TXT Datei einlesen von: Manfred
Geschrieben am: 27.07.2017 15:31:53

Hallo Zwenn,

ja das geht.

Mit dem Makro importierte Daten gehen aber nicht.

Meine Daten:
Da ist immer ein TAB dazwischen.
1 2,00E+01 5,21E+01
2 2,50E+01 4,21E+01
3 3,15E+01 3,94E+01
4 4,00E+01 4,75E+01
5 5,00E+01 5,09E+01
6 6,30E+01 5,53E+01
7 8,00E+01 5,61E+01
8 1,00E+02 4,20E+01
9 1,25E+02 3,42E+01
10 1,60E+02 2,75E+01
11 2,00E+02 2,51E+01
12 2,50E+02 2,58E+01
13 3,15E+02 2,10E+01
14 4,00E+02 1,80E+01
15 5,00E+02 1,59E+01
16 6,30E+02 1,71E+01
17 8,00E+02 1,93E+01
18 1,00E+03 1,78E+01
19 1,25E+03 1,79E+01
20 1,60E+03 1,84E+01
21 2,00E+03 1,90E+01
22 2,50E+03 1,99E+01
23 3,15E+03 2,28E+01
24 4,00E+03 2,29E+01
25 5,00E+03 2,19E+01
26 6,30E+03 2,26E+01
27 8,00E+03 2,24E+01
28 1,00E+04 2,29E+01
29 1,25E+04 2,44E+01
30 1,60E+04 2,60E+01
31 2,00E+04 2,58E+01

Gruß
Manfred


  

Betrifft: AW: TXT Datei einlesen von: Werner
Geschrieben am: 27.07.2017 15:52:09

Hallo Manfred,

was ist wenn du auf die Daten Text in Spalten mit dem Leerzeichen als Trennzeichen anwendest?

Gruß Werner


  

Betrifft: AW: TXT Datei einlesen von: Manfred
Geschrieben am: 27.07.2017 15:58:58

Hallo Werner,

sorry ich steh grad auf dem Schlauch.

Gruß
Manfred


  

Betrifft: AW: TXT Datei einlesen von: Werner
Geschrieben am: 27.07.2017 16:42:50

Hallo Manfred,

Spalte mit deinen Werten markieren - Menü Daten - Bereich Datentools - Text in Spalten - Weiter - bei Trennzeichen zusätzlich Leerzeichen auswählen - Weiter - Fertig stellen

Gruß Werner


  

Betrifft: AW: TXT Datei einlesen von: Manfred
Geschrieben am: 27.07.2017 17:29:20

Hallo Werner,

Dein Trick funktioniert tatsächlich.
Jetzt muss ich das noch ins Makro einbauen. Ich hoffe ich bekomm das hin.

Besten Dank Euch allen.

Gruß
Manfred


  

Betrifft: Gerne u. Danke für die Rückmeldung. von: Werner
Geschrieben am: 27.07.2017 17:31:57

Hallo Manfred,

einfach den Makrorekorder mitlaufen lassen.

Gruß Werner


Beiträge aus den Excel-Beispielen zum Thema "TXT Datei einlesen"