Verwendung von Specialcells in Function
14.08.2006 16:51:46
Specialcells
angeregt durch einen Beitrag im Forum (https://www.herber.de/forum/messages/791379.html), bin ich auf ein weiteres Problem gestoßen:
die Funktion Specialcells funktioniert anscheinden nicht in UDF, die als Excel-Formel verwendet werden.
Werden sie aber von einem Makro aufgerufen, gehts seltsamerweise.
im angehängten Beispiel sollen alle Zahlen eines Bereiches zusammenaddiert werden, allerdings nur echte Werte, keine Formeln bzw berechnete Werte.
hierzu habe ich eine Funktion geschrieben, in der der Bereich über Specialcells entsprechend eingeschränkt wird.
Das seltsame ist, wenn ich die UDF von einem Makro aufrufe, wird korrekt gerechnet wie man durch drücken des Buttons feststellen kann, in der Excel-Formel dagegen werden auch die Formeln mit aufaddiert, dh. die Einschränkung mit Specialcells funktioniert nicht, es wird der ganze Zellebereich mit übergeben.
Da stellt sich doch die Frage: Bug oder Feature.
hat jemand zu diesem Verhalten weiter Infos?
https://www.herber.de/bbs/user/35789.xls
hier die Codes für UDF und Testmakro
Option Explicit
Function Sum_nur_Werte(rng As Range)
Dim Bereich As Range
Set Bereich = rng.SpecialCells(xlCellTypeConstants, 1)
Sum_nur_Werte = WorksheetFunction.Sum(Bereich)
End Function
Sub Test()
Dim var
var = Sum_nur_Werte(Range("A:A"))
MsgBox ("Summe ohne Formeln " & var)
End Sub
Gruß, Daniel