Trouver le changement de signe dans le tableau

J'ai des données dans excel qui commence par des valeurs négatives, passe à zéro et atteint une certaine valeur positive. J'ai mis cet set particulier de données dans un jeu de données de dataset1 = {-9.5,-7,-5.25,-3,-1.1,0,1,5,20,50} (à titre d'exemple, les valeurs ne sont pas linéairement espacés) pour effectuer des calculs. Mais ce que je dois savoir, c'est l'indice du dernier numéro qui a un signe (est négatif).
Comment puis je faire ça? Malheureusement, il n'existe aucune fonction comme IsSigned(..)=true .

Si vous voulez le faire sans boucle

 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 

Ma solution ressemble à ceci:

 '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 

Nombre de limitations: Array doit être vertical, ne peut que find la dernière valeur signée une fois, les valeurs doivent être sortingées par ordre croissant. Vous ne pouvez pas inverser l'ordre de search. C'est une solution assez spécifique adaptée à mon problème, donc la solution ci-dessus devrait être considérée comme un poing.