wiederholtes TXT importieren

Bild

Betrifft: wiederholtes TXT importieren
von: Donfugo
Geschrieben am: 28.10.2015 18:06:15

Hallo Zusammen,
ich benutze folgende Methode um ein Txt-file per Auswahlmenue in Excel zu importieren:

  • Sub importdata()
    Dim i As Integer
    Dim SelItem
    With Application.FileDialog(msoFileDialogFilePicker)
        .Filters.Clear
        .Filters.Add "Text Dateien", "*.csv; *.txt", 1
        .AllowMultiSelect = True
        If .Show <> -1 Then Exit Sub
        'Dateiname = Application.FileDialog(msoFileDialogFilePicker).SelectedItems
        For Each SelItem In .SelectedItems
           Workbooks.OpenText Filename:=SelItem, Local:=True
           
           Dateiname = SelItem
           ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("Data").Cells(Rows.Count, 1).End(xlUp). _
    Offset(1, 0)
    ActiveWorkbook.Close True   
        Next SelItem
    End With
    End Sub


  • mit dem folgenden code importiere ich mir die Oben angewählte Datei alle 30s wiederholt in Excel. Funktioniert wie eine Art refresh:
  • Sub refreshimport()
           Workbooks.OpenText Filename:=Dateiname, Local:=True
          
           ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("Data").Cells(1, 1).End(xlUp).Offset(1, 0) _
    ActiveWorkbook.Close True
    End Sub

  • Mein Problem: mit jedem refresh wird Excel gefühlt langsamer (selbst wenn immer die Gleich datei refreshed wird) bis sich Excel irgendwann ganz aufhängt. Irgendetwas wird bei dieser Routine anscheinend nicht beendet oder Stapelt sich. Hat jemand einen Vorschlag bzw sieht den Fehler?
    Vielen Dank schonmal

    Bild

    Betrifft: AW: wiederholtes TXT importieren
    von: Tino
    Geschrieben am: 28.10.2015 18:24:27
    Hallo,
    habe ich jetzt nicht getestet.
    Aber ein Refresh ist nach meiner Ansicht eine Aktualisierung der Daten.
    Mit der Codezeile

    ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)

    hängst Du die Daten aber an die bestehenden an!
    Du müsstest die alten Daten zuvor löschen würde ich meinen.
    Gruß Tino

    Bild

    Betrifft: AW: wiederholtes TXT importieren
    von: Donfugo
    Geschrieben am: 29.10.2015 09:14:51
    Hallo Tino,
    ich lösche jeweils das ganze sheet vor dem einfügen und erstelle ein Neues (ist ein schritt vorher). Daher ist das Problem nicht gegeben! Hat sonst noch jemand eine Idee?

    Bild

    Betrifft: AW: wiederholtes TXT importieren
    von: Jürgen V.
    Geschrieben am: 29.10.2015 12:40:16
    Hallo Donfuego,
    warum nutzt Du VBA für Deine Aufgabenstellung? "Daten - Externe Daten abrufen - Aus Text" fügt eine Abfrage ein, der Du per Rechtsklick + Aktualisieren eine neue Datei zuordnen kannst. Zudem kannst Du in den Datenbereichseigenschaften eine automatische Aktualisierung definieren.
    Gruß, Jürgen

    Bild

    Betrifft: AW: wiederholtes TXT importieren
    von: Donfugo
    Geschrieben am: 29.10.2015 15:43:49
    Hallo Jürgen,
    die ganze implementierung ist nur ein Teil eines großen Prgoramms und soll möglichst Kundenfreundlich gestaltet werden. Daher das Ganze per Knopfdruck.
    Grüße

    Bild

    Betrifft: AW: wiederholtes TXT importieren
    von: Jürgen V.
    Geschrieben am: 30.10.2015 14:22:39
    Hallo Donfuego,
    Knopfdruck schön und gut - das bedeutet doch nicht, dass man in VBA mühsam nachbaut, was Excel out of the Box anbietet, sondern idealerweise nur das, was noch bis zum gewünschten Komfortlevel fehlt. Das Aktualisieren der Abfrage lässt sich doch auch auf einen Knopf legen, bei Bedarf auch, die Datenquelle zu wechseln.
    Noch angemerkt: wie soll denn ein geneigter Helfer Dir einen Tipp geben können, warum Deine (nun als umfangreich beschriebene) Lösung immer langsamer wird, wenn Du nur einen Ausschnitt der Lösung erwähnst?
    Gruß, Jürgen

     Bild

    Beiträge aus den Excel-Beispielen zum Thema "wiederholtes TXT importieren"