Anzeige
Archiv - Navigation
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textdatei importieren

Textdatei importieren
22.05.2008 12:14:24
Christian
Hallo liebe Excel Gemeinde,
ich habe die Aufgabe bekommen ein Auswertetool für Messdaten zu erstellen!
Die eigentliche Auswertung mit Diagrammen etc. ist mir mit Excel schon hervorragend gelungen, jetzt möchte ich es nur noch etwas userfreundlich gestalten.
Jetzt habe ich versucht mich schnell mal in die VBA-Geschichte einzulesen. Ok, aus Fehlern lernt man!
Das Tool soll, durch drücken eines Buttons in Tabelle1 (dort ist die ganze Auswertegeschichte), folgende Aufgabe erfüllen:
1. Eine mit Tabs getrennte, ab Zeile 33 beginnende Tabelle in Textformat, in das vorhandene Arbeitsblatt in die Tabelle2 (von dort entimmt sich Tabelle1 die Messdaten) importieren! Die Textdatei hat meistens 3 Spalten und 20.000 Zeilen, Messwerte eben.
2. Es sind sehr viel Tabellen, sie befinden sich aber alle in einem Ordner und man soll vor dem Import die Textdatei auswählen können!
3. Auch sollte sich Tabelle2 nicht sinnlos füllen! Vielleicht ein Löschbefehl, vor dem Import (in der Tabelle2 wird auch nichts weiter drin stehen, ausser die importierten Messdaten)
Ich weiß jedoch nicht wie ich mich erkenntlich zeigen kann, außer mich schon im Voraus für eure Mühen zu bedanken!
Mit freundlichen Grüßen
Christian

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textdatei importieren
22.05.2008 13:16:00
Josef
Hallo Christian,
eine Möglichkeit.
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub importTextFile()
Dim lngIndex As Long, lngCnt As Long
Dim strFile As String, strTmp As String, varTmp() As Variant, varValues As Variant

strFile = Application.GetOpenFilename("Text Dateien (*.txt),*.txt")

If strFile = "Falsch" Then Exit Sub

Open strFile For Input As #1

Do While Not EOF(1)
    
    lngCnt = lngCnt + 1
    
    Input #1, strTmp
    
    If lngCnt > 32 Then
        
        Redim Preserve varTmp(lngIndex)
        varTmp(lngIndex) = Split(strTmp, vbTab)
        lngIndex = lngIndex + 1
        
    End If
    
Loop

Close #1

If lngIndex > 0 Then
    
    varValues = Application.Transpose(Application.Transpose(varTmp))
    
    With Sheets("Tabelle2")
        .Cells.ClearContents
        .Range(.Cells(1, 1), .Cells(UBound(varValues, 1), UBound(varValues, 2))) = varValues
    End With
    
End If
End Sub


Gruß Sepp



Anzeige
AW: Textdatei importieren
23.05.2008 09:46:00
Christian
Hallo,
und vielen Dank für die superschnelle Antwort!
Ich bin gerade zu Hause, da ich glücklicherweise in einem Bundesland arbeite in dem gestern Feiertag war.
Jetzt habe ich aber zu Hause das Office Paket 2007 und dort kommt der "Laufzeitfehler 13" "Typen unverträglich" bei Zeile: -- varValues = Application.Transpose(Application.Transpose(varTmp)) --
Ich hoffe mal das gibt sich dann mit der alten Version auf Arbeit. Ich melde mich am Montag, ob es funktioniert!
Nochmal vielen Dank für die schnelle Antwort
Christian

AW: Textdatei importieren
23.05.2008 21:44:00
Josef
Hallo Christian,
habe das Makro gerade auf xl2007 getestet und es läuft auch dort ohne Probleme.

Gruß Sepp



Anzeige
AW: Textdatei importieren
26.05.2008 09:26:00
christian
Hallo,
habs heut gleich auf Arbeit probiert, gleiches Problem!
- Laufzeitfehler 13
- Typen unverträglich
- Beim Debuggen markiert er die Zeile:
varValues = Application.Transpose(Application.Transpose(varTmp))
Jetzt verstehe ich nicht wieso es bei Dir funktioniert und bei mir nicht, kann es
vielleicht eine Excel-Konfigurationproblem sein?
Danke im Voraus
Christian

AW: Textdatei importieren
26.05.2008 19:37:44
Josef
Hallo Christian,
kannst du mal eine der Textdateien zum testen hochladen?

Gruß Sepp



Anzeige
AW: Textdatei importieren
27.05.2008 09:09:53
christian
Hallo,
hier ist die Datei:
https://www.herber.de/bbs/user/52638.txt
ich habe die Hälfte der Messdaten entfernt (begrenzte Uploadgröße!).
Jedoch denke ich, es wird nicht an der Datei liegen, ich habs schon mit anderen (selbsterstellten) probiert und es kommt immer der gleiche Fehler.
Danke Christian

AW: Textdatei importieren
27.05.2008 20:37:25
Josef
Hallo Christian,
probier mal diese Version.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub importTextFile()
Dim lngIndex As Long, lngCnt As Long
Dim strFile As String, strTmp As String, varValues() As Variant, varTmp As Variant, intC As Integer

strFile = Application.GetOpenFilename("Text Dateien (*.txt),*.txt")

If strFile = "Falsch" Then Exit Sub

Open strFile For Input As #1

Do While Not EOF(1)
    
    lngCnt = lngCnt + 1
    
    Input #1, strTmp
    
Loop

Close #1

Redim Preserve varValues(1 To lngCnt - 32, 1 To 10)

lngCnt = 0

Open strFile For Input As #1

Do While Not EOF(1)
    
    lngCnt = lngCnt + 1
    
    Input #1, strTmp
    
    If lngCnt > 32 Then
        If Len(strTmp) > 0 Then
            strTmp = Trim$(strTmp)
            If Right(strTmp, 1) = Chr(9) Then strTmp = Left(strTmp, Len(strTmp) - 1)
            lngIndex = lngIndex + 1
            varTmp = Split(strTmp, vbTab)
            For intC = 0 To UBound(varTmp)
                varValues(lngIndex, intC + 1) = varTmp(intC)
            Next
        End If
    End If
    
Loop

Close #1

If lngIndex > 0 Then
    
    With Sheets("Tabelle2")
        .Cells.ClearContents
        .Range(.Cells(1, 1), .Cells(UBound(varValues, 1), UBound(varValues, 2))) = varValues
    End With
    
End If

End Sub


Gruß Sepp



Anzeige
AW: Textdatei importieren
28.05.2008 09:53:00
christian
Hallo Sepp,
Du Excel-Profi! Funktioniert so wie ich es mir vorgestellt habe!
Ich bedanke mich sehr für Deine Hilfe!
Vielen, Vielen Dank
Christian

AW: Textdatei importieren
28.05.2008 16:20:06
christian
Hallo,
ich nochmal. Hab mich ein klein wenig zu früh gefreut! Aber ich denke für Dich wird das kein Problem sein!
Also das Makro importiert die Daten wie sie in der Text-Datei stehen. Und genau das ist das Problem es importiert die von dem Messprogramm gespeicherten Punkte, die eigentlich Kommata sein sollten, eben als Punkte. Somit können meine Auswertetabellen nichts damit anfangen.
Wenn man das noch hinkriegen würde, das wär echt super!
ewig dankend
Christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige