Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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

Fehler: zuviele client-tasks

Fehler: zuviele client-tasks
25.03.2009 08:55:27
AyKay
Hallo liebe Forumuser,
in einer Arbeitsmappe habe ich ca. 60 Tabellenblätter die über Query-Abfragen zu andern Datenquellen (auch Excel) verknüpft sind. Wenn ich jedes einzelne Tabellenblatt abfrage klappt alles wunderbar. Jedoch wenn ich über den Button "Alle aktualiseren" alles aktualisieren möchte kommt die fehlermeldung "zuviele client-tasks"
Hat jemand einen Tipp für mich?
Danke im voraus.
Grüße,
AyKay

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler: zuviele client-tasks
25.03.2009 08:59:01
Mike
Hey AyKay,
Du kannst ja die Aktualisierung "eines nach dem anderen" mittels
Makro lösen.
Gruss
Mike
AW: Fehler: zuviele client-tasks
25.03.2009 09:08:15
AyKay
Hallo Mike,
hast du für mich einen Tipp wie ich das Programmiertechnisch umsetze?
Sprich ...Gibt es eine Möglichkeit, Excel dazu zu nötigen alle Blätter mit hinterlegten Abfragen (per Schleife) zu aktualiseren. Das wäre wahrscheinlich etwas charmanter als sich per Makrorekorder durch 60 Tabellenblätter zu wühlen.
Danke im voraus.
Grüße,
ANdreas
AW: Fehler: zuviele Client-Tasks
25.03.2009 09:15:05
Mike
Hey Andreas,
ich habs mit dem Recorder gelöst:
...
Sheets("Query - Art1").Select
Range("D6").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
Selection.End(xlDown).Select
Sheets("Query - Art2").Select
Range("D6").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
Selection.End(xlDown).Select
...
Aber mit 'ner Schleife - wie von Dir erwähnt - gehts wohl noch
etwas charmanter.
Gruss
Mike
Anzeige
AW: Fehler: zuviele client-tasks
25.03.2009 09:27:48
Tino
Hallo,
mit Schleife könnte es so gehen.

Sub Refresh_All_Query()
Dim LQuery As Long
Dim myTab As Worksheet
For Each myTab In ThisWorkbook.Worksheets
For LQuery = 1 To myTab.QueryTables.Count
myTab.QueryTables.Item(LQuery).Refresh
Next LQuery
Next myTab
End Sub


Gruß Tino

AW: Fehler: zuviele client-tasks
25.03.2009 09:50:12
AyKay
Hallo Tino, hallo Mike,
vielen dank erstmal für eure Vorschläge.
@Tino:
dein code bringt mich schon mal etwas näher an die Lösung heran - aber, da ich auch tabellenblätter ohne Abfragen habe läuft der Code in einen Fehler.
Vielleicht könnte man den Code so gestalten, dass alle Tabellenblätter zwischen Tab20 und Tab80 (als Beispiel) aktualisiert werden? Irgendwo hatte ich so was mal gelesen.
Danke
AyKay
Anzeige
AW: Fehler: zuviele client-tasks
25.03.2009 10:15:42
Tino
Hallo,
verstehe ich jetzt aber nicht,
habe den Code jetzt bei mir in eine neue Datei eingefügt wo keine Abfragen vorhanden sind.
myTab.QueryTables.Count bringt bei mir keinen Fehler, sondern den Wert 0 und
somit wird die Schleife auch nicht durchlaufen.
Hast Du den Code falsch angepasst oder eingefügt?
Gruß Tino
AW: Fehler: zuviele client-tasks
25.03.2009 10:48:53
AyKay
Hallo Tino,
du hast recht. Dein Code funzt hervorragend. ich habe jetzt nämlich auch meinen Quertreiber entdeckt - nämlich ein Tabellenblatt auf dem sich aufgrund von VBA-Code (siehe nachfolgend) jede menge Abfragen versteckt hatten.
.... Worksheets(wksArr(i)).Range(Cells(1, 1), Cells(lastRow, lastCol)).Copy Destination:=.Range(.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Address)
Gibt es einen ähnlich lautenden Befehl, der nur Werte überträgt, nicht aber die zugrunde liegende Abfrage?
Sorry, dass ich dich weiter mit Fragen bombadiere.
Grüße,
AyKay
Anzeige
AW: Fehler: zuviele client-tasks
25.03.2009 10:58:50
Tino
Hallo,
was ich machen würde,
ich würde die Abfragen jedesmal komplett neu machen und die Abfragen danach löschen.
So können auch keine versteckten Abfragen entstehen.
Beispiel löschen der Abfragen auf einem Blatt:

Loop While Tabelle1.QueryTables.Count > 0
Tabelle1.QueryTables(1).Delete
Do


Nachteil ist, Du musst immer wieder eine komplett neue Abfrage erstellen.
Gruß Tino

AW: Fehler: zuviele client-tasks
25.03.2009 11:13:03
AyKay
Hallo nochnals,
Genial :-))
ich habbe mir jetzt etwas anders beholfen indem ich die kopierten Werte über pasteSpecial einfüge ....
Worksheets(wksArr(i)).Range(Cells(1, 1), Cells(lastRow, lastCol)).Copy
tarWks.Range(.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Address).PasteSpecial xlPasteValues
Und nun funzt endlich alles.
Vielen dank,
Grüße,
AyKay
Anzeige
AW: Fehler: zuviele client-tasks
25.03.2009 11:43:41
Tino
Hallo,
Du hast zwar schon eine Lösung, möchte Dir aber diese auch noch präsentieren,
damit die Arbeit nicht unnötig war.
Du könntest es auch mal so versuchen, läuft die Abfrage auf einen Fehler wird diese gelöscht.
Seltsamerweise bringt die Abfrage immer den Fehler 9 (Index außerhalb…) obwohl alles i.O. ist
und die Daten importiert werden, daher habe ich diesen bei mir mit abgefangen.
Kannst ja mal testen.
Sub Refresh_All_Query()
     Dim LQuery As Long
     Dim myTab As Worksheet
     
     For Each myTab In ThisWorkbook.Worksheets
      For LQuery = 1 To myTab.QueryTables.Count
       Call Refresh__Query(myTab.QueryTables.Item(LQuery))
      Next LQuery
     Next myTab
     
End Sub

Sub Refresh__Query(Query As QueryTable)
On Error Resume Next
    Query.Refresh
    If Err.Number <> 0 And Err.Number <> 9 Then Query.Delete
On Error GoTo 0
End Sub


Gruß Tino

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige