VisualBasic CSV import ändert Matrix im Sverweis

Cassius1985

Captain
Registriert
Sep. 2004
Beiträge
3.600
Hi Leute,

ich stehe mal wieder auf dem Schlauch...
Ich will einfach nur täglich eine CSV importieren und dann per Sverweis eine einfache Prüfung durchführen, ob ein Datensatz noch vorhanden ist oder nicht.

Die Tabelle sieht (vereinfacht) so aus:

Zelle A1 : 123 / Zelle B1 : Ja/Nein

In Zelle B1 steht die Formel:
=WENN(WENNFEHLER(SVERWEIS(A1;Bestandsliste!$N$:$N$;1;FALSCH);"Nein")=A1;"Ja";"Nein")

Gibt also simpel Ja oder Nein raus.

Ich importiere die CSV aus Faulheit mit einem Makro:

Code:
Sub import()

Worksheets("Bestandsliste").Select
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;F:\Export.csv", Destination:=Cells(1, 1) _
        )
        .Name = "Export"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _
        , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

soweit auch klar. Wenn der Import der CSV jetzt gelaufen ist, ändert sich die Formel auf dem Deckblatt in:

=WENN(WENNFEHLER(SVERWEIS(A1;Bestandsliste!$EC:$EC;1;FALSCH);"Nein")=A1;"Ja";"Nein")

Aus dem Bereich $N:$N wird $EC:$EC

und ich verstehe es nicht.
Ich importiere noch 2 weitere externe Datenquellen, allerdings aus .xls files, hier bleibt die Formel auf dem Deckblatt bestehen wie sie ist.

Ich kann mal versuchen einen Umweg zu gehen und die CSV erst in ein anderes Tabellenblatt zu importieren und dann den Inhalt in das eigentliche Tabellenblatt kopieren (werte einfügen), aber sinnvoll ist das dann nicht wirklich.


Tipps, Anregungen? :)
 
An die erste Aktion habe ich auch schon gedacht, da muss ich dann eine schleife basteln, da die Anzahl der Datensätze in Spalte "A" immer Variieren...

Als Workaround sicher gut, nur würde mich interessieren, warum es nur diese eine Formel zerschießt.

Ich kann auch keine Daten mehr manuell importieren, das Feld in Excel ist ausgegraut, es gibt aber keine aktiven Datenverbindungen. Sehr strange.


Edit:
Habs, irgendwie...
Habe alles in den Tabellenblatt gelöscht (Str und -) dann den Zellbezug in der Formel neu hergestellt, dann Importiert und es funktioniert.

Muss man nicht verstehen, warum Excel da im Hintergrund irgendwo noch die Datenverbindung aufrecht erhalten hat, obwohl sie gelöscht wurde.
 
Zurück
Oben