Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textimport und Filter

Textimport und Filter
12.09.2005 19:42:03
Axel
Hallo Leute,
ich bin am Ende. Trotz stundenlangem Durchforsten der "Recherche" komme ich nicht so richtig weiter. Ich habe folgendes Problem.
Eine *.txt-Datei mit ca. 40 Spalten, getrennt durch Tabstopps, und ca. 15.000 Zeilen soll nach EXCEL importiert werden. Allerdings benötige ich nur ein "paar" Spalteneinträge aus der Textdatei, z.B. die 3. + 4. + 5. + 12. + 15. Spalte. Diese Inhalte sollen dann gezielt in eine Spalte des EXCEL-Tabellenblattes
geschrieben werden, etwa im Sinn, die 3.Spalte in "C", die 4.Spalte in "H" usw.
Ich versuche nun das ganze in ein Array zu pressen. Aber mein Grips reicht leider nicht aus.
Wie ordne ich aus dem Array die Daten den entsprechenden Zellen zu?
Vielleicht kann mir jemand helfen?!
Hier mein Anfang ....
'------------------------------------------------------------------------------------------

Sub Daten_Holen()
Dim iRow As Integer, iCol As Integer
Dim sFiles As String, sTxt As String
sFile = Range("B1").Value
iFile = FreeFile
fileToOpen = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
MsgBox "Open " & fileToOpen
End If
If Dir(sFile) = "" Then
Beep
MsgBox "Die Textdatei wurde nicht gefunden !!!"
Exit Sub
End If
sSearch = "Eintrag2"
Open sFile For Input As iFile
Do Until EOF(1)
Input #iFile, sTxt
If InStr(sTxt, sSearch) Then
Range("A5") = sTxt
Exit Do
End If
Loop
Close iFile
Range("A1").Select
End Sub

'------------------------------------------------------------------------------------------

Sub Daten_Filter()
Dim A
Dim B
A = Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1))
B = A(1)
Sheets("Tabelle1").Cells(1, 1).Value = B
Range("A5").Select
End Sub

'------------------------------------------------------------------------------------------
Grüße, Axel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textimport und Filter
12.09.2005 19:59:53
Josef
Hallo Axel!
Probier's mal so!
Sub Daten_Holen()
Dim iRow As Integer, iCol As Integer
Dim sFile As String, sTxt As String
Dim iFile As Integer
Dim tmp As Variant

sFile = Range("B1").Value
iFile = FreeFile

fileToOpen = Application _
  .GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
  MsgBox "Open " & fileToOpen
End If
If Dir(sFile) = "" Then
  Beep
  MsgBox "Die Textdatei wurde nicht gefunden !!!"
  Exit Sub
End If

sSearch = "Eintrag2"
Open sFile For Input As iFile
Do Until EOF(1)
  Input #iFile, sTxt
  If InStr(sTxt, sSearch) Then
    tmp = Split(sTxt, Chr(9))
    
    Range("C5") = tmp(2) 'Dritter Eintrag! Index beginnt bei 0!
    Range("H5") = tmp(3) 'Vierter Eintrag!
    '.....
    
    Exit Do
  End If
Loop
Close iFile
Range("A1").Select
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Textimport und Filter
12.09.2005 20:06:51
Axel
Hallo Sepp,
das ist es. Vielen Dank für Deine Hilfe. Ich muss mich mehr mit den Array`s beschäftigen.
Trotzdem muss ich noch etwas nachfragen.
Wie muss ich die Schleife einsetzen, um die nächste Zeile der Textdatei in die nächste Zeile des Tabellenblattes zu bekommen?
Gruß, Axel
AW: Textimport und Filter
12.09.2005 20:11:11
Josef
Hallo Alex!
Das geht so!
Sub Daten_Holen()
Dim iRow As Integer, iCol As Integer
Dim sFile As String, sTxt As String
Dim iFile As Integer
Dim tmp As Variant
Dim lRow As Long

lRow = 5 'Startzeile der Einträge

sFile = Range("B1").Value
iFile = FreeFile

fileToOpen = Application _
  .GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
  MsgBox "Open " & fileToOpen
End If
If Dir(sFile) = "" Then
  Beep
  MsgBox "Die Textdatei wurde nicht gefunden !!!"
  Exit Sub
End If

sSearch = "Eintrag2"
Open sFile For Input As iFile
Do Until EOF(1)
  Input #iFile, sTxt
  If InStr(sTxt, sSearch) Then
    tmp = Split(sTxt, Chr(9))
    
    Cells(lRow, 3) = tmp(2) 'Cells(lRow, 3) = "C5" = (Zeile 5, Spalte 3)!
    Cells(lRow, 8) = tmp(3) 'Cells(lRow, 8) = "H5" = (Zeile 5, Spalte 8)!
    '.....
    
    lRow = lRow + 1 'Zeilenzähler hochzählen für nächsten Eintrag
    
  End If
Loop
Close iFile
Range("A1").Select
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Textimport und Filter
12.09.2005 20:32:57
Axel
Hallo Sepp,
ich möchte mich recht herzlich bei Dir bedanken für Deine schnelle Unterstützung.
Mit diesem Tipp bin ich jetzt in der Lage, mein Projekt noch heute fertigzustellen.
Nochmals vielen Dank !!!
Gruß Axel.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige