Hallo Leute,
es sollen Messfühler (nicht mehr von Hand) sondern per Makro in die Tabelle eingelesen werden. Der txt-Dateiname heißt Verbindungsd13*.txt, im Klartext heißt die Datei z.B.:Verbindungsd13_20170715.txt
Das Einlesen funktioniert auch solange der Dateiname vollständig an EXCEL übergeben wird. Da der Dateiname aber in der nächsten Woche mit dem dann aktuellen Tagesdatum verbunden sein wird, kann der Dateiname auch nur als variabler Wert Verbindungsd13*.txt übergeben werden.
Option Explicit
Public Name, fs, s$, Zeilenanzahl As Long, f 'für temporären Schreibschutz
Sub TXT_Tabelle_laden13()
Const Pfad = "D:\Excel\Allgemei\Testdateien\"
Const Datei = "Verbindungsd13*.txt" 'dieser Teil des Dateinamens ist immer gleich, die _
nachfolgende Zahlenfolge wird aus
s = Dir(Pfad & Datei) _
_
'aktuellem Datum gebildet
If Len(s) > 0 Then Workbooks.Open (Pfad & s)
Name = Pfad & s
Application.ScreenUpdating = False
Windows("Mappe1.xlsm").Activate
Sheets("Tabelle1").Select
TXT_Einfügen
End Sub
Public Function TXT_Einfügen()
Zeilenanzahl = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
Workbooks.OpenText Filename:= _
"Variable_einschließlich_Pfadstruktur", Origin:=xlMSDOS, StartRow _
:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=False, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 4), Array(2, 1), Array( _
3, 1), Array(4, 1), Array(5, 9), Array(6, 1), Array(7, 9), Array(8, 2), Array(9, 9), Array( _
_
10 _
, 9), Array(11, 9), Array(12, 9), Array(13, 1)), TrailingMinusNumbers:=True
Windows("Variable").Activate
Zeilenanzahl = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
Range("A1:D" & Zeilenanzahl).Select
Selection.Copy
Windows("Mappe1.xlsm").Activate
Zeilenanzahl = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
Range("A" & Zeilenanzahl + 1).Select
ActiveSheet.Paste
Windows("Variable").Activate
Application.DisplayAlerts = False 'Löschabfrage unterdrücken
ActiveWorkbook.Close 'Datei schließen
Windows("Mappe1.xlsm").Activate
End Function
die Varianble Name beinhaltet Pfadstruktur & vollständigen Dateinamen, wird aber von der Function nicht akzeptiertHat jemand eine Idee wie der Code in der Beispieldatei abzuändern ist damit das Makro mit dem variablen Dateinamen ordnungsgemäß arbeitet?
mfG
reiner