ich bin da auf zwei komische Sachen gestoßen:
a) Ich öffne eine andere .xls*, weise sie der workbook-Variablen aWB zu und knabbere an der Fehlerroutine.
aWB.Close savechanges:=False
Set aWB = Nothing
Fehler:
If Not aWB Is Nothing Then aWB.Close savechanges:=False
So scheint es zu gehen, aber der erste Gedanke war, in der Zeile nach dem Fehler: zu überprüfen, was mit dem aWB ist. aWB.Close savechanges:=False
Fehler:
Msgbox aWB Is Nothing
gibt aber *immer* false zurück.Es verwundert mich, daß die Variable noch existiert, obwohl das Ding geschlossen wurde.
b) wie macht man eine saubere Prüfung auf specialcells?
If Not aWB.Sheets("bla").Range("A1:B4").SpecialCells(xlCellTypeFormulas) Is Nothing Then
läuft auf 1004: keine Zellen gefunden, mit .count größer 0 das Gleiche, mit set range= sowieso.
Gibt es da was Eleganteres als...
- zunächst mit .find ("=") Formeln suchen, da brauche ich aber ne Schleife, ein = könnte ja auch im Text erscheinen...
- das prozedurweite OnError ausschalten, ein "kleines" nur für das specialcells reinmachen und abfragen und dann das "große" wieder anwerfen?
Ich hoffe, Euch fällt was dazu ein.
Schöne Grüße,
Michael