Office: Richtiges Event beim öffnen einer Excel-Datei

Helfe beim Thema Richtiges Event beim öffnen einer Excel-Datei in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe ein vermeintlich kleines Problem, bei dem ich allerdings bereits seit ein paar Stunden rum probiere: Ich starte eine... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von BM45, 16. Dezember 2015.

  1. Richtiges Event beim öffnen einer Excel-Datei


    Hallo zusammen,

    ich habe ein vermeintlich kleines Problem, bei dem ich allerdings bereits seit ein paar Stunden rum probiere:

    Ich starte eine Excel-Datei aus einem Formular aus Access heraus, gleichzeitig besitzt die Excel-Datei in einem seperaten Sheet Abfragen mithilfe von MS Query auf die Access Datenbank. Ich benötige ein Event das immer eintritt, allerdings erst nachdem Abfragen gelaufen sind. Bei Workbook_Open wird der Code zu früh ausgeführt, gleiches gilt für Workbook_Activate. Worksheet_Activate funktioniert zwar, allerdings muss immer zuerst zwischen den Sheets gewechselt werden damit das Event eintritt.

    Gibt es ein solches Event oder kennt ihr eine andere Lösungsmöglichkeit? Ich habe bereits versucht über Workbook_open eine UserForm zu starten und mit dem Klick auf den Button den Code ausführen zu lassen - aber auch hier tritt der Code vor der Hintergrundabfrage ein.

    Ich hoffe ihr versteht was ich meine, falls Fragen vorhanden sein sollten werde ich diese gerne beantworten!


    Vielen Dank im Voraus


    Edit: Ergänzend um den Sinn dahinter zu verstehen, der Code bezieht sich auf die Daten der Abfragen wird dieser vor den Abfragen ausgeführt enthält das Excel-Sheet auf dem der Fokus liegt falsche/alte Daten

    :)
     
  2. Hallo,

    du kannst das Event AfterRefresh auswerten.
     
  3. Hi, danke für deine Antwort,

    wie genau meinst du auswerten?
    Das Event finde ich weder bei Workbook noch bei Worksheet
     
  4. Richtiges Event beim öffnen einer Excel-Datei

    Hallo,

    das ist ja auch ein Event der QueryTable-Klasse. Du musst also nur so eine Klasse anlegen und im Open-Event der Mappe initialisieren. Dann kannst du das AfterRefresh-Event abfangen und damit einfach in der Tabelle ein weiteres Event mit deinem Makro triggern.

    Kriegst du das hin oder brauchst du ein Beispiel?
     
  5. Hallo,

    ein Beispiel wäre nicht schlecht falls du dir die Zeit nehmen kannst, ansonsten werde ich versuchen mich mit Google durchzuschlagen
     
  6. Hallo,

    im Modul "DieseArbeitsmappe" (Tabellen-Objekt-Name anpassen):

    Option Explicit

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Not Saved Then
    Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
    "' gespeichert werden", vbExclamation Or vbYesNoCancel)
    Case vbYes
    Save
    Case vbNo
    Saved = True
    Case vbCancel
    Cancel = True
    End Select
    End If
    If Not Cancel Then Call Tabelle1.Terminate_Class
    End Sub

    Private Sub Workbook_Open()
    Call Tabelle1.Init_Class
    End Sub

    Im Modul der Tabelle:

    Option Explicit

    Private WithEvents mobjQueryTable As clsQueryTable

    Friend Sub Init_Class()
    Set mobjQueryTable = New clsQueryTable
    Set mobjQueryTable.prpQueryTable = QueryTables(1)
    End Sub

    Friend Sub Terminate_Class()
    Set mobjQueryTable = Nothing
    End Sub

    Private Sub mobjQueryTable_Refresh(ByVal pvblnRefresh As Boolean)
    If pvblnRefresh Then

    'Hier kommt dein Code

    End If
    End Sub

    In einem Klassenmodul mit dem Namen "clsQueryTable":

    Option Explicit

    Private WithEvents mobjQueryTable As QueryTable

    Public Event Refresh(ByVal pvblnRefresh As Boolean)

    Private Sub Class_Terminate()
    Set mobjQueryTable = Nothing
    End Sub

    Friend Property Set prpQueryTable(ByRef probjQueryTable As QueryTable)
    Set mobjQueryTable = probjQueryTable
    End Property

    Private Sub mobjQueryTable_AfterRefresh(ByVal Success As Boolean)
    RaiseEvent Refresh(True)
    End Sub

    Private Sub mobjQueryTable_BeforeRefresh(Cancel As Boolean)
    RaiseEvent Refresh(False)
    End Sub
     
  7. Wow, vielen Dank für deine Bemühungen!

    Habe alles 1:1 so übernommen, als ich den Namen von Tabelle1 angepasst habe, habe ich Fehlermeldungen bekommen... die sind jetzt aber wie gesagt beseitigt, allerdigns gibt

    Code:
    "Index außerhalb des gültigen Bereiches"

    Würde mich gerne selbst an die Fehlerbehebung machen, meine VBA kenntnisse reichen dafür aber kaum aus. Hast du eine Idee was falsch ist?
     
  8. Richtiges Event beim öffnen einer Excel-Datei

    Hallo,

    der Code muss in das Modul der Tabelle in der die Daten gezogen werden,
     
  9. Hi,

    mein Fehler, habe ich geändert, bekomme keine Fehlermeldung mehr, allerdings tut sich auch nichts, sprich der Code wird nicht angesprochen.

    Hast du noch eine Idee?
     
  10. Hallo,

    ohne die Mappe zu kennen schwer zu sagen an was es liegt. Wahrscheinlich ist aber dass dein Query schon läuft bevor der Code greifen kann. Ich würde mal versuchen den automatischen Refresh raus zu nehmen und diesen im Open-Event per VBA anzusteuern.
     
Thema:

Richtiges Event beim öffnen einer Excel-Datei

Die Seite wird geladen...
  1. Richtiges Event beim öffnen einer Excel-Datei - Similar Threads - Richtiges Event öffnen

  2. Formeln funktionieren nicht richtig

    in Microsoft Excel Hilfe
    Formeln funktionieren nicht richtig: Hallo zusammen, ich habe eine Excel mit einem ganz merkwürdigen Verhalten. Darin ist eine externe Datenverbindung. Wenn ich diese aktualisiere, dann liefern plötzlich alle Formeln den Fehler...
  3. STRG+Pos 1 in Zelle funktioniert nicht mehr richtig

    in Microsoft Excel Hilfe
    STRG+Pos 1 in Zelle funktioniert nicht mehr richtig: Hallo liebes Forum, da ich in meinen Projekten die Action-Items v.a. über Excel-Listen tracke und zT viel Text pro Zelle anfällt, war der Shortcut "STRG+Pos1" immer extrem nützlich, um...
  4. Zellen auf die richtigen Spalten verteilen

    in Microsoft Excel Hilfe
    Zellen auf die richtigen Spalten verteilen: Liebes Forum, ich benötige Hilfe bei einem (für mich) komplizierten Fall von Daten sortieren: Ich habe 18 Spalten mit Überschriften 1-18. Es handelt sich um die Auswertung einer Mehrfachantwort,...
  5. Richtigen Preis aus Tabelle "ziehen"

    in Microsoft Excel Hilfe
    Richtigen Preis aus Tabelle "ziehen": Hallo und einen guten Start ins neue Jahr! Frisch aus dem Urlaub habe ich mich an eine neue Aufgabe begeben: Im einer Preistabelle gibt es pro Artikel einen Standardpreis und (theoretisch) n...
  6. Tabellen und Beziehung richtig realisieren

    in Microsoft Access Hilfe
    Tabellen und Beziehung richtig realisieren: Grundlegend weiß ich mittlerweile wie Beziehungen zu verknüpfen sind und wie sie so arbeiten. Was mir allerdings immer Probleme macht sind die Grundgedanken, wo man welche Tabelle mit welcher...
  7. Möchte Daten aus der richtigen Zeile wählen

    in Microsoft Excel Hilfe
    Möchte Daten aus der richtigen Zeile wählen: Hallo zusammen, ich habe folgendes Problem als Anfänger... Ich habe Daten der Fussball Bundesliga als Excel-Datei, nun möchte ich für die kommenden Spieltage, immer automatisch die erwarteten Tore...
  8. Jede Änderung nach dem speichern in die Info-tabelle schreiben

    in Microsoft Excel Hilfe
    Jede Änderung nach dem speichern in die Info-tabelle schreiben: Guten Tag, ich suche eine Möglichkeit eine Änderung / Neuaufnahme eines Datensatzes nachdem ich die Übergabe / Beendigung der Speicherung abgeschlossen habe, erst dann in die Tabelle "Info" zu...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden