Ja,
und manchmal hilft es auch, sich auf die wesentlichen Dinge zu konzentrieren. Wer braucht bitte eine Prüfung auf Object? Wer braucht eine Unterscheidung nach String und IsNumber? Wie gesagt, es gibt nur drei unterschiedliche Datentypen, auf die man reagieren muss. Ich habe das so gelöst (Sorry, bin eigentlich nicht so, aber gerade bin ich echt genervt.):
Ich wusste das der Punkt angesprochen wird. :3
Korrekt ist: Man muss nicht auf Objekt prüfen.
Falsch ist: Man kann es sich daher sparen.
Nur am Rande:
TypeName ist unzureichend
[zur Veranschaulichung: Ist das Objekt nun vom Typ Range oder VBAProject.Range? Das kann dir TypeName nicht beantworten]
und es ist allgemein langsamer als der TypeOf-Operator. (spielt hier jedoch keine nennenswerte Rolle, wie gesagt ... nur am Rande)
=> Aus jetziger Sicht kann es sich theoretisch nur um zwei Dinge handel: Range oder Nicht-Range ... oder auch Objekt und Nicht-Objekt. Wenn man weiß, dass nur einzelne Zellen zulässig sind, könnte man sich diese Unterscheidung sogar ganz sparen.
Was da alles ankommen kann, kann man nicht mit absoluter Gewissheit sagen und auch nich dass das, so wie es gerade ist, immer bleiben wird; M$ kann schnell schnell mal ein neues Feature implementieren; Kurz: Typenprüfung ist essenziel und man sollte daran zumindest denken.
Und darum ging es in dem Makro nur. Aufzeigen was man anhand der Aufgebenstellung zeigen kann.
Grüße
|