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

Txt-Datei einlesen mit intellig. Wenn-Dann-Abfrage

Txt-Datei einlesen mit intellig. Wenn-Dann-Abfrage
28.03.2007 11:15:38
Till
Hallo Leute,
momentan lese ich in Excel mit folgendem VBA Code, Daten aus bestimmten Ordnern ein, deren Pfad dadurch beeinflusst wird, was ich vorher in einer Combox auf meiner Userform ausgewählt hab.
Option Explicit
Private Const cPath As String = "C:\My Autoscope\Polling Data\" 'Konstante Pfadvorgabe
Sub Strasse(ByVal SubFolder As String)
Dim strFile As String
Dim objName1_1 As Range
Dim rngF1_1 As Range
Dim rngK1_1 As Range
Dim rngUnion1_1 As Range
Dim MyWidth As Single, MyHeight As Single
Dim NumWide As Long
Dim iChtIx As Long, iChtCt As Long
Dim Zeile2 As Integer, MyList(2836, 8), r As Integer, wksListe As Worksheet
If Not ActiveWorkbook Is ThisWorkbook Then ActiveWorkbook.Close False
strFile = cPath & SubFolder & Format(ThisWorkbook.Sheets("Tabelle1").Range("a1"), "yyyymmdd") & "_0" & ".txt"
If Dir(strFile) = "" Then
MsgBox "Keine Messdaten zu diesem Datum vorhanden", vbInformation, " "
Exit Sub
End If
On Error GoTo ErrExit
GetMoreSpeed
Workbooks.OpenText _
Filename:=strFile, _
DataType:=xlDelimited, _
Semicolon:=True, _
FieldInfo:=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), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1)), DecimalSeparator:=".", _
ThousandsSeparator:=",", TrailingMinusNumbers:=True
Ebenso muss ich vorher das Datum per DateTimePicker auswählen, so dass dieses dann in eine Zelle geschrieben wird, damit ich dann entsprechend dem Datum auch die richtige Datei einlese. Also z.B. für den 28.02.07 die Datei "20070228_0.txt".
Leider kann es vorkommen, dass anstatt der Datei "20070228_0.txt", eine Datei "20070228_1.txt", oder "20070228_2.txt" , oder "20070228_3.txt" existiert. Teilweise existieren auch alle diese Dateien.
Ich würde also gerne eine Art "Wenn-Dann" Abfrage in den VBA Code einbauen, dass wenn die Datei "20070228_0.txt" nicht existiert, dann automatisch die Datei "20070228_1.txt" geöffnet wird, bzw. wenn diese nicht existiert die Datei "20070228_2.txt" und wenn diese nicht existiert die Datei "20070228_3.txt".
Also eigentlich unabhängig von den anderen existierenden Dateien die Datei mit der höchsten Endnummer (s.o.)!!
Lässt sich das in oben gezeigten Code einbauen?
Hier mal meine ersten Versuche, die aber nicht richtig funktioniert hatten, da direkt auf "Weiter:" gesprungen wurde:
strFile = cPath & SubFolder & Format(ThisWorkbook.Sheets("Tabelle1").Range("a1"), "yyyymmdd") & "_0" & ".txt"
If Not Dir(strFile) = "" Then
GoTo Weiter
Else
strFile = cPath & SubFolder & Format(ThisWorkbook.Sheets("Tabelle1").Range("a1"), "yyyymmdd") & "_1" & ".txt"
End If
Weiter:
MsgBox "Keine Messdaten zu diesem Datum vorhanden", vbInformation, " "
Außerdem sind da noch nicht die Alternativen mit den anderen möglichen Endzahlen "_2", "_3" mit enthalten.
Hoffe, Ihr könnt mir mal wieder helfen!
Danke schon mal!
Gruß Till

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Txt-Datei einlesen mit intellig. Wenn-Dann-Abfrage
28.03.2007 11:45:13
Rudi
Hallo,
For i = 0 To 9
strfile = cPath & SubFolder & Format(ThisWorkbook.Sheets("Tabelle1").Range("a1"), "yyyymmdd") _
& "_" & i & ".txt"
If Dir(strfile)  "" Then Exit For
Next i
If i > 9 Then
MsgBox "Keine Messdaten zu diesem Datum vorhanden", vbInformation, " "
Exit Sub
End If

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Txt-Datei einlesen mit intellig. Wenn-Dann-Abfrage
28.03.2007 12:55:38
Till
Hallo Rudi,
danke noch mal für Deine Hilfe.
Ich muss das nachher mal ausprobieren... Deshalb lass ich den Status noch auf "offen".
Und Dein Code öffnet immer nur die Datei mit der größten Endzahl? Wenn ja müsste es ja so funktionieren! Aber ich melde mich noch mal!
Gruß Till
Anzeige
AW: Txt-Datei einlesen mit intellig. Wenn-Dann-Abfrage
28.03.2007 13:20:15
Rudi
Hallo,
nein, die mit der niedrigsten. dreh die Schleife um.
for i=9 to 0 step -1
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Txt-Datei einlesen mit intellig. Wenn-Dann-Abfrage
28.03.2007 14:13:00
Till
Hallo Rudi,
super das klappt....vielen Dank!
Gruß Till
AW: Txt-Datei einlesen mit intellig. Wenn-Dann-Abfrage
28.03.2007 16:41:39
Till
Hallo Rudi,
noch ein Nachtrag:
Wie fange ich denn den Fehler ab, wenn versucht wird zu einem Datum, wo keine Datei vorhanden ist, eine Anfrage zu starten.
Am Liebsten würde ich das auch mit:
MsgBox "Keine Messdaten zu diesem Datum vorhanden", vbInformation, " "
tun.
Danke noch mal!
Gruß Till
AW: Txt-Datei einlesen mit intellig. Wenn-Dann-Abf
28.03.2007 22:37:00
Rudi
Hallo,
auch gedreht.
anstatt if >9 eben if i Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige