查找数组中的符号更改

我有在Excel中的数据,以负值开始,通过零,达到一定的正面价值。 我把这个特定的一组数据放入一个数组dataset1 = {-9.5,-7,-5.25,-3,-1.1,0,1,5,20,50} (就像一个例子,这些值不是线性的间隔)做一些计算。 但是我需要知道的是最后一个有符号的数字的索引(是负数)。
我怎样才能做到这一点? 可悲的是,没有像IsSigned(..)=true函数。

如果你想不做循环

 Sub test() Dim dataset1 As Variant dataset1 = Array(-9.5, -7, -5.25, -3, -1.1, 0, 1, 5, 20, 50) Debug.Print UBound(Filter(dataset1, "-")) + 1 End Sub 

我的解决scheme如下所示:

 'Find last signed value For i = LBound(concarraycleared, 2) To UBound(concarraycleared, 2) If concarraycleared(2, i) < 0 Then LastSignedIndex = i Else Exit For End If Next i 

几个限制:数组需要是垂直的,一次只能find最后一个有符号值,值需要按升序sorting。 您不能颠倒search顺序。 这是针对我的问题量身定制的非常具体的解决scheme,所以上面的解决scheme应该被视为拳头。