Laufzeitfehler 91 bei zuweisung eines Worksheets

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Laufzeitfehler 91 bei zuweisung eines Worksheets

    Guten Tag,

    ich verzweifel grade mal wieder an meiner Sturheit. Ich habe Probleme aus einem Workbook ein Sheet auszulesen bzw. zu definieren.
    OutputWorkbook ist schon an anderer Stelle als Workbook definiert worden und

    Visual Basic-Quellcode

    1. Debug.Print OutputWorkbook.Name
    2. Debug.Print OutputWorkbook.Worksheets.Count

    geben mir auch die richtigen Werte zurück.

    Hier mein Code wo ich folgende Fehlermeldung bekomme:

    Laufzeitfehler '91':
    Objektvariable oder With-Blockvariable nicht festgelegt

    Visual Basic-Quellcode

    1. Dim inSheet As Worksheet
    2. inSheet = OutputWorkbook.Worksheets("test")


    Das OutputWorkbook hat ein Sheet mit dem Namen test, also sollte es doch möglich sein, der Variable inSheet dieses Sheet zuzuweisen, oder nicht?

    Vielen Dank für Hilfe,

    Paul
    Hallo,

    ist es denn auch wirklich nur der Name, oder etwa nur die Beschriftung der Tabelle? Da muss man unterscheiden...
    den Namen kannst du dir im VBA Editor angucken...

    Mfg jvbsl
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Hallo,

    das eine ist einfach nur die Beschriftung ein Text, für den User, beim Programmieren heißen diese nachher im Normalfall anders(Standard ist Tabelle1, Tabelle2 usw...)
    also geh mal in Extra->Makro->Visual Basic-Editor...
    dann solltest du ein solch schönes Bild haben: vba-webbasedtraining.com/Excel%20VBA%20I/PreReq01.jpg
    und das links nicht in den Klammern sind glaube ich die Namen und in der Klammer die Beschriftungen...(bin mir aber nicht sicher, da ich OOO benutze und es dort kein richtiges VBA gibt...)

    Mfg jvbsl
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Es gibt da mehrere Möglichkeiten ohne Deine Mappe hier zu haben:

    Visual Basic-Quellcode

    1. Dim inSheet As Worksheet
    2. Set inSheet = OutputWorkbook.Worksheets("test")


    oder

    Visual Basic-Quellcode

    1. Dim inSheet As New Worksheet
    2. Set inSheet = OutputWorkbook.Worksheets("test")
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    das erste ist vom Prinzip her genau das was er hat, was aber nicht mit der Beschriftung funktioniert und das zweite ergibt für mich keinen Sinn(ein Objekt erzeugen, um es danach zu überschreiben?!)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---