Laufzeitfehler 438 Objekt unterstützt diese Eigenschaft oder Methode nicht

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von WI_Studenten.

    Laufzeitfehler 438 Objekt unterstützt diese Eigenschaft oder Methode nicht

    Hallo zusammen,

    ich habe folgendes Problem.

    Ich wollte mir einen Button mit Makro bauen mit dem ich automatisch in den nächsten Monat springen kann

    1.dabei möchte ich die Datei vorher speichern
    2.dann die Vorlage ins Workbook laden
    3. Reststunden von dem aktuellen Workbook in die Vorlage kopieren
    4.und dann die Datei wieder abspeichern


    Quellcode

    1. 'nächster Monat
    2. Sub Speichern()
    3. Application.Dialogs(xlDialogSaveAs).Show
    4. Dim wkbQuelle As Workbook
    5. Set wkbQuelle = ThisWorkbook
    6. Dim wkbZiel As Workbook
    7. Datei = Workbooks.Open("H:\daten\Berichte\Test\Master.xlsm")
    8. 'If Datei = False Then Exit Sub
    9. Set wkbZiel = Datei
    10. Set RestStunden = wkbQuelle.Sheets("Work").Cells(21, 6)
    11. wkbZiel.Sheets("Work").Cells(27, 6) = RestStunden
    12. Application.Dialogs(xlDialogSaveAs).Show
    13. End Sub


    im Bereich des Quellcodes 12-14 kommt dann die Fehlermeldung

    Quellcode

    1. Laufzeitfehler 438 Objekt unterstützt diese Eigenschaft oder Methode nicht


    Kann mir da jemand weiterhelfen ?

    ?(
    MFG
    WI_Studenten

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „WI_Studenten“ ()

    WI_Studenten schrieb:

    Datei = Workbooks.Open("H:\daten\Monatsberichte(Wochenberichte)\Test\VWxxx_20xx_KWxx_Planungsstunden_Master.xlsm")
    'If Datei = False Then Exit Sub
    Set wkbZiel = Datei


    Versuch es doch mal mit der direkten Zuweisung und lass das Speichern in die Variable Datei weg.

    Wozu das ganze eigentlich? - Nur um zu schauen ob Datei = false oder nicht?
    Willst du damit abfragen, ob die angegebene Datei existiert?
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    ok danke

    ja im fall das sie vielleicht verschoben worden ist aber ich habs jetzt einfach rausgeschmissen

    Quellcode

    1. 'nächster Monat
    2. Sub Speichern()
    3. Application.Dialogs(xlDialogSaveAs).Show
    4. Dim wkbQuelle As Workbook
    5. Set wkbQuelle = ThisWorkbook
    6. Dim wkbZiel As Workbook
    7. Set wkbZiel = Workbooks.Open("H:\daten\Berichte\Test\Master.xlsm")
    8. Set RestStunden = wkbQuelle.Sheets("Work").Cells(21, 6)
    9. Sheets("PC-Formular Fibu36a Deckblatt").Cells(27, 6) = RestStunden
    10. Application.Dialogs(xlDialogSaveAs).Show
    11. End Sub


    neuer Code so funktionierts

    dann kann ich aber auch

    Quellcode

    1. Dim wkbZiel as Workbook

    rausschmeissen oder weil die vorlage ja dann das aktiveworkbook ist ?
    MFG
    WI_Studenten
    Im Grunde ja.

    Mit dieser Abfrage kannst du vorher schauen, ob die Datei vorhanden ist:

    Visual Basic-Quellcode

    1. If Dir("c:\dir\datei.xlsx") <> "" Then


    MfG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup: