Office: (Office 2016) VBA Fehler auf 1 von 3 Rechnern

Helfe beim Thema VBA Fehler auf 1 von 3 Rechnern in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, vielleicht kann mir jemand weiterhelfen, ich stehe vor einem Problem dessen Ursache sich mir absolut nicht erschließt. Der folgende VBA Code... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von lybserv, 10. Mai 2020.

  1. VBA Fehler auf 1 von 3 Rechnern


    Hallo,

    vielleicht kann mir jemand weiterhelfen, ich stehe vor einem Problem dessen Ursache sich mir absolut nicht erschließt.

    Der folgende VBA Code deklariert die Variablen und befüllt diese auch korrekt. Ordnerpfad und Dateiname wird angegeben und danach soll das ganze via SaveCopyAs gespeichert werden.


    PHP:
             Dim appExcel As Excel.Application
    Dim wbkBook 
    As Excel.workBook

    Dim FileName 
    As String
    Dim Path 
    As String

    Set appExcel 
    GetObject(, "Excel.application")
    Set wbkBook appExcel.ActiveWorkbook
    Path 
    "C:UsersLybsDocumentsContracts"
    FileName Me.order " " Me.CustomerName ".xlsm"
    wbkBook.SaveCopyAs FileName:=Path FileName
    :)
     
    lybserv, 10. Mai 2020
    #1
  2. Was debuggen bedeutet ist dir klar?
    Das macht man eben, um solche Fehler zu lokalisieren.

    Außerdem teilst du auch nicht mit, welche Anweisung den Fehler verursacht.
     
    markusxy, 12. Mai 2020
    #2
  3. Hallo,

    ja, mir ist klar was Debugging ist *wink.gif* Nur wie debuggt man etwas, was (für mich) vollkommen keinen Sinn ergibt?

    Der Fehler 91 tritt bei der letzten Zeile auf (habe ich oben geschrieben)

    wbkBook.SaveCopyAs FileName:=Path & FileName

    Laufzeitfehler 91, Objektvariable oder With-Blockvariable nicht festgelegt
    Es betrifft "wbkBook", es ist angeblich "Nothing" obwohl es ein paar Zeilen darüber klar definiert wurde.

    Und das tritt NUR an einem PC auf.. was debuggt man da? *wink.gif*
     
    lybserv, 12. Mai 2020
    #3
  4. VBA Fehler auf 1 von 3 Rechnern

    Debuggen, tut man eben, wenn es keinen Sinn ergibt. Sonst ist es ja umsonst.

    Wenn es kein Workbook gibt, dann kann man auch nichts speichern.
    Was ist z.B. wenn mehr als eine Excel Anwendung geöffnet ist.

    Wenn dann solltest du bei Getobject den Pfad verwenden, oder dich per Code absichern, dass du die richtige Excel Anwendung zugreifst.
    So ist der Code ist sehr unsicher und fehleranfällig.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 12. Mai 2020
    #4
  5. Hallo lybserv,

    wie Markus schon gesagt hat, ist der Code mitnichten "klar definiert" und von einigen äußeren Umständen abhängig, die du in deinem Code nicht prüfst. Insofern ist es eher zufällig, wenn dein Code ohne Fehler durchläuft. Selbst die Arbeitsmappe wird nicht explizit vorgegeben und damit kann noch nicht mal klar gesagt werden, was eigentlich gespeichert wird.

    Ulrich
     
    knobbi38, 12. Mai 2020
    #5
  6. Okay dann muss ich wohl nochmal an den Code ran..

    Mir kommt es nur seltsam vor, ich habe an die 250-300 Speichervorgänge mit diesem Code ohne jegliche Fehler durch..

    Auf einem PC läuft der Code nicht ein einziges mal durch, er mag zwar nicht der "beste" sein, aber ich denke das Problem liegt irgendwo anders..
     
    lybserv, 12. Mai 2020
    #6
  7. Ist ein workbook geöffnet ?
    Ist die Bearbeitung im Excel-sheet aktiviert ?
     
    fredfred, 12. Mai 2020
    #7
  8. VBA Fehler auf 1 von 3 Rechnern

    Ja das Excel Sheet öffnet sich, genau wie auf den anderen PCs - Bearbeitung ist auch aktiviert. Beim Speichern scheitert es dann.. weil er eben meint, dass "wkbBook" = Nothing ist :-(
     
    lybserv, 12. Mai 2020
    #8
  9. \@lybserv
    Das ist keine Meinung, sondern an der Stelle eine Tatsache.
    Bist du den Code mal im Einzelschrittmodus (gehört ja auch zum Debuggen)
    durchgegangen und hast geprüft ab wann und wie lange das Objekt die
    Referenz zurückgibt?
    gruss ekkehard
     
    Beaker s.a., 12. Mai 2020
    #9
  10. Das muß dir nicht seltsam vorkommen und das Problem liegt auch nicht woanders. Das ist eine direkt Folge davon, wenn beim Programmieren eine Annahme gemacht wird, daß ein bestimmter Zustand stabil ist und deshalb keiner weiteren Überprüfung bedarf. Das ist ein entscheidene Qualitätsmerkmal von Code.

    Mit GetObject() erhält man Zugriff auf irgendeine geladene Excel-Instanz. Ist keine geladen, wird ein Laufzeitfehler erzeugt (immerhin), der dann aber auch nicht abgefangen und behandelt wird.

    Das "ActiveWorkbook" z.B. ist nur dann eindeutig bestimmt, wenn es nur ein einziges geladenes Workbook gibt. Sind zwei Workbooks geladen oder keins, stimmt diese Annahme schon nicht mehr.

    Ulrich
     
    knobbi38, 12. Mai 2020
    #10
  11. Okay okay, ich bastel dann wohl doch noch was am Code..

    macht es nur schwierig, dass das Problem immer nur an einem PC auftritt, ich kann es an meinem eigenen ja nicht nachvollziehen :-(

    Es ist übrigens immer nur eine Excel Datei geöffnet gewesen, zum Zeitpunkt an dem das VBA Script durchgelaufen ist.. ich finde es nach wie vor eigenartig. Selbst wenn ich 5 Excel Dokumente offen habe, tut der Code, was er soll.

    Ich bastel dann mal noch ein paar Checks ein und les mich nochmal ein.. ich dachte ich wär endlich fertig *biggrin.gif*
     
    lybserv, 12. Mai 2020
    #11
  12. Bevor ich jetzt wieder den ganzen Code auseinandernehme und mir 20 neue Fehler verbaue, schaue ich mal was mit dem PC, auf dem es nicht läuft, nicht stimmt.

    Office 2013 auf PC 1 und Office 2016 auf PC 2 machen alles richtig. Permanent, immer, es gibt nicht ein einziges Problem bei alles Testszenarios.

    Sorry, aber es kann nicht am Code liegen, wenn dieser tadellos woanders funktioniert... es sind die selben Bedingungen auf allen Computern.

    Code:
    Code:
    Falls jemand Lust und Laune hat.. gerne gegen einen Obulus - das ist der voll funktionsfähige Code, der seit 2 Wochen fehlerfrei läuft.

    Bekommt man von VBA irgendwann einen Burnout? *wink.gif*
     
    lybserv, 12. Mai 2020
    #12
  13. VBA Fehler auf 1 von 3 Rechnern

    Dunkel sind der Funktionen Sinn, wenn vielleicht auch nicht fehlerauslösend...
     
    Maxel, 12. Mai 2020
    #13
  14. CostEstimation hat nichts mit Excel zutun - nur damit hab ich meine Probleme *wink.gif*

    savecopy habe ich gepostet (und da wird der Fehler liegen.. zumindest für 1 der 3 PCs)
     
    lybserv, 12. Mai 2020
    #14
  15. Hallo Iybserv

    Mir ist aufgefallen, dass Excel dein Workbook nicht erkennt.

    Warum ist hier das "w" kleingeschrieben?
    Code:
    Es deutet daraufhin, dass Excel Workbook nicht als Tabelle erkennt.

    Fange mal dort an mit der Suche. Denn es muss ja normalerweise so aussehen:

    Code:
    Also das klein "w" muss Gross "W" sein. Dass passiert nur dann, wenn Excel es tatsächlich als Workbook erkennt.

    Gruss
     
    Accesbeginner, 12. Mai 2020
    #15
Thema:

VBA Fehler auf 1 von 3 Rechnern

Die Seite wird geladen...
  1. VBA Fehler auf 1 von 3 Rechnern - Similar Threads - VBA Fehler Rechnern

  2. Kreuztabelle / VBA / Fehler behandlung

    in Microsoft Access Hilfe
    Kreuztabelle / VBA / Fehler behandlung: Hallo alle zusamen Ich habe vor Jahren programiert und hade vieles vergessen. Ich habe Problemme mit ein Kreuztabelle Ich stelle ein Tabelle für quartal rechnung. Aber wenn der Quartal noch nict...
  3. VBA Stapelspeicher Fehler

    in Microsoft Excel Hilfe
    VBA Stapelspeicher Fehler: Hi, ich möchte gern die Funktion DateSerial verwenden. Leider bekomme ich den Stapelspeicher Fehler. Könnte mir da bitte jemand mir helfen? Function DateSerial() Worksheets("2023").Activate Dim...
  4. VBA - Fehler beim Kompilieren (Mehrdeutiger Name - Worksheet_Change)

    in Microsoft Excel Hilfe
    VBA - Fehler beim Kompilieren (Mehrdeutiger Name - Worksheet_Change): Hallo, ich komm leider nicht weiter. Habe 2 Makros die einzeln super Funktionieren, aber leider nicht zusammen. Vielleicht kann jemand helfen. Danke. Option Explicit Sub Datum() Private Sub...
  5. Makro Problem nach Wörtern filtern und Zeilen löschen

    in Microsoft Excel Hilfe
    Makro Problem nach Wörtern filtern und Zeilen löschen: Hallo zusammen! Ich habe ein Makro, dass ich erweitern möchte. Dabei soll in den Daten in der ersten Zeile ein Filter aktiviert werden und alle Datenzeilen löschen, die in Spalte 10 eines von 4...
  6. Fehler beim übertragen einer funktionierenden VBA

    in Microsoft Excel Hilfe
    Fehler beim übertragen einer funktionierenden VBA: Hallo Ich habe von der Homepage von Beverly die Datei mit Makro geladen (mehrere Zellen Zoomen), und wollte sie in meiner Beispieldatei einarbeiten. Ich habe die Liste als Namen definiert und die...
  7. Warum Fehler beim Kompilieren (VBA)???

    in Microsoft Excel Hilfe
    Warum Fehler beim Kompilieren (VBA)???: Hallo meine Lieben, ich bin, was VBA angeht, kein Profi und daher schier am durchdrehen. (Darf die Mappe aus datenschutzrechtlichen Gründen nicht online stellen, sorry) Folgendes: Modul 1:...
  8. Fehler 400 bei einfachen VBA-Code

    in Microsoft Excel Hilfe
    Fehler 400 bei einfachen VBA-Code: Guten Tag Excel-Experten Wieder mal sitze ich auf dem Schlauch und brauche eure Hilfe. Meine Kalkulationsdatei ist ziemlich fortgeschritten, habe bereits eine Menge Code geschrieben....
  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