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

Komplettabbruch VBA

Komplettabbruch VBA
10.06.2009 09:07:44
AyKay
Hallo liebe Forumgemeinde,
und schon wieder mal stehe ich vor einen Problem.
Nachfoolgenden Code habe ich dank eurer Mithilfe in meine Arbeitsmappe integriert. Damit werden nach und nach alle Tabellenblätter aufgerufen und die zugrundeliegenden Abfragen aktualisiert.

Sub Import_Abfragewerte()
' Alle Tabellenblätter mit hinterlegten Abfragen werden aktualisiert
Dim LQuery As Long
Dim myTab As Worksheet
For Each myTab In ThisWorkbook.Worksheets
For LQuery = 1 To myTab.QueryTables.Count
myTab.Select
myTab.QueryTables.Item(LQuery).Refresh
Next LQuery
Next myTab
Sheets("History").Select
End Sub


Nun mein Problem: Hin und wieder einmal läuft die Prozedur in einen Fehler (Abfrage kann nicht aktualisiert werden, da die Datenquelle bereits von anderem User geöffnet ist). => danach Komplettabbruch !!! Besser wäre es, wenn der Code weiterlaufen würde, und alle Fehler würden protokolliert werden (in einer Msg-Box o.ä.)
danke für eure Mithilfe.
Grüße,
AyKay

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Komplettabbruch VBA
10.06.2009 09:15:23
selli
hallo aykay,
nicht ganz elegant aber effektiv ist es wenn du als erste befehlszeile
on error resume next
einfügst.
gruß selli
p.s.: was ist mit deiner frage von gestern, hast du meinen vorschlag umgesetzt?
wg. gestern
10.06.2009 09:17:34
selli
habs gesehen.
danke für die rückmeldung.
gruß
selli
AW: Komplettabbruch VBA
10.06.2009 09:27:49
AyKay
Hallo Selli,
schöner wäre es, wenn die fehgeschlagenen Aktualisierungen (Tabellenblätter) in einer Msg-Box am Ende der Prozedur ausgegeben werden würde.
Ist das machbar?
Danke
AyKay
AW: Komplettabbruch VBA
10.06.2009 09:38:54
selli
hallo aykay,
machbar ist das.
fehlerursachen kann es aber viele geben.
ich weiss leider auch nicht, wie man erfährt, ob ein fehler nur auf grund der nicht ausgeführten aktualisierung ausgelöst hat.
lass die frage deshalb mal offen, für jemanden, der sich schonmal damit befasst hat.
es gibt auch bestimmt ansätze dafür in der recherche.
dazu fehlt mir aber die zeit.
sorry.
gruß selli
Anzeige
AW: Komplettabbruch VBA
10.06.2009 12:19:36
Roland
Hallo AyKay,
das müsste wie folgt zu machen sein, allerdings bleibt die Frage offen, ob dir eine nur teilweise aktualisierte Mappe reichen kann:

Sub Import_Abfragewerte()
Dim LQuery As Long
Dim myTab As Worksheet
Dim errMsg As String
Application.DisplayAlerts = False
For Each myTab In ThisWorkbook.Worksheets
If myTab.QueryTables.Count > 0 Then
For LQuery = 1 To myTab.QueryTables.Count
myTab.Select
On Error GoTo errorhandler
myTab.QueryTables.Item(LQuery).Refresh
errorexit:
Next LQuery
End If
Next myTab
Sheets("History").Select
If Len(errMsg) > 0 Then MsgBox errMsg, 16, "Das ging schief!"
Application.DisplayAlerts = True
Exit Sub
errorhandler:
On Error Resume Next
errMsg = vbLf & "Die Abfrage " & LQuery & " in Blatt " & myTab.Name & " konnte nicht  _
aktualisiert werden"
Resume errorexit
End Sub


Gruß
Roland Hochhäuser

Anzeige
AW: Komplettabbruch VBA
10.06.2009 12:36:57
AyKay
Hallo Roland,
bei mir kommt in der Zeile ...
errMsg = vbLf & "Die Abfrage " & LQuery & " in Blatt " & myTab.Name & " konnte nicht _
aktualisiert werden"
ein Kompilierungsfehler!!
Grüße,
AyKay
AW: Komplettabbruch VBA
10.06.2009 16:59:33
Roland
Hallo AyKay,
das liegt an der Forensoft: nimm den Underscore raus und schreib es in eine Zeile.
Gruß
Roland Hochhäuser
AW: Komplettabbruch VBA
15.06.2009 09:03:45
AyKay
Hallo Roland,
danke !!! Manchmals sind es eben doch nur Kleinigkeiten.
Grüße,
AyKay

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige