ich staunte nicht schlecht als ich bei erneutem anlegen eines Namens ein haufen unerklärliche Namen eingetragen wurden.
Ich konnte es auch schnell heraus finden, wo mit es zu tun hat.
Ich lese fortlaufende eine *.csv ein, danach wird ein Name mit dem Namen des Tabellenblattes angelegt und bei erneuten Einlesen wird der Name hochgezählt. Der Bereich entspricht immer der Größe der csv-Datei.
In meinem Code kann ich leider nichts finden, womit ein Name angelegt werden könnte.
Kann mir bitte vielleicht jemand erklären wie dieser Effekt zustanden kommen kann.
Hier ist mein Code:
Sub Import()
Dim FileName As Variant
Dim strSheet As String, Pfad As String
Set wksS = Worksheets("Stat")
Set wksE = Worksheets("Ergebnis")
t = Timer
Call abschalten
Pfad = wksS.Range("X2")
ChDrive Left(Pfad, 1)
ChDir Pfad
FileName = Application.GetOpenFilename("Textdateien " & _
"(*.txt; *.csv;*.asc),*.txt; *.csv; *.asc")
strSheet = "Stat"
If FileName = "" Or FileName = False Then Exit Sub
wksE.Range("T1") = FileName
Sheets(strSheet).Range("A3:IV65536").Clear
With Sheets(strSheet).QueryTables.Add(Connection:="TEXT;" & FileName _
, Destination:=Sheets(strSheet).Range("A3"))
.Name = strSheet
.FieldNames = True
.PreserveFormatting = True
.RefreshStyle = xlInsertDeleteCells
.SaveData = False
.AdjustColumnWidth = True
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.Refresh BackgroundQuery:=False
End With
'sortieren der Dankenbank
wksS.Range("A3:D16000"). _
Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
' Call Formel_eins
' Call ErgebnisinDB
Application.ScreenUpdating = True
MsgBox Timer - t
End Sub
Für Eure Mühe bedanke ich mich schon mal im voraus.
Gruß Korl