Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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
Inhaltsverzeichnis

wiederholtes TXT importieren

wiederholtes TXT importieren
28.10.2015 18:06:15
Donfugo
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

    5
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: wiederholtes TXT importieren
    28.10.2015 18:24:27
    Tino
    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

    AW: wiederholtes TXT importieren
    29.10.2015 09:14:51
    Donfugo
    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?

    Anzeige
    AW: wiederholtes TXT importieren
    29.10.2015 12:40:16
    Jürgen
    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

    AW: wiederholtes TXT importieren
    29.10.2015 15:43:49
    Donfugo
    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

    AW: wiederholtes TXT importieren
    30.10.2015 14:22:39
    Jürgen
    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
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige