»Ja, aber im Direktbereich steht nichts.«
Logisch. Ist in diesem Fall dasselbe wie Debug.Print ThisWorkbook. Was soll dabei rauskommen? Je präziser Deine Frage desto präziser der Informationsgehalt der zu erwartenden Antwort, richtig?
Bei Objektvariablen wird ohne Angabe einer Eigenschaft die Default-Eigenschaft angenommen.
Das funktioniert also wenn bspw. .Value, .Name, .Caption, die Standardeigenschaft ist. (Bei einer Zelle bspw. würde das funktionieren!)
Aber nicht immer ist eine solche Eigenschaft die Standardeigenschaft - diese Art der Formulierung solltest Du Dir also erst garnicht angewöhnen.
Fromuliere Deinen Code immer exakt aus. Das erleichtert Dir (und Anderen) nachgelagerte Arbeit.
Du möchtest diesen Fehler nachstellen?
Geh einfach mal in den Direktbereich und gib ein
Debug.Print ThisWorkbook
Du bekommst #438. Gib nun mal eine Eigenschaft mit an
Debug.Print ThisWorkbook.Name
dann klappts auch mit dem Nachbarn im Direktfenster.
Haltepunkt:
Halte den Code an einer Stelle, nachdem die Objektvariable gesettet ist. Dann wirfst Du einen Blick in das lokale Anzeigefenster. Dort aufklappen, dann siehst Du welche Werte in div. Eigenschaften gesetzt sind; welche Du quasi abfragen und ausgeben lassen kannst. (manche sind manipulativ, aber soll erstmal egal sein)
|