Ошибка VBSCript как "Требуемое число Non-negetive"

Я написал ниже кода, чтобы удалить некоторые элементы из ArrayList объекты в зависимости от Матча некоторых элементов в 1D Множество. Но получая <�сильную> ОШИБКУ как число Non-negetive, требуемое к линии ArrayListTaskDetails. RemoveRange RemovePosition, 4 . Но то, что я знаю, IndexOf() прибыль 0 - базирующийся индекс, когда матч нашел и -1 для непревзойденного. Тогда, почему ошибка прибывает?

Кодекс:

For IndexSearch = Lbound(VMHArray) To Ubound(VMHArray)
    Do Until ArrayListTaskDetails.IndexOf(VMHArray(IndexSearch), 0) <> -1
        RemovePosition = ArrayListTaskDetails.IndexOf(VMHArray(IndexSearch), 0)
        ArrayListTaskDetails.RemoveRange RemovePosition, 4
    Loop
Next
0
добавлено отредактировано
Просмотры: 1
de
@phoog, которые я использовал , до намерением, поскольку любой элемент матрицы может присутствовать в ArrayList несколько раз. Но согласно MSDN определение для IndexOf() это возвращает основанный на 0 индекс для первого, найденного и -1 для непревзойденного, тогда как такой negetive число кроме -1 прибывает? какая-либо идея? Id, Используемый , в то время как тогда я не могу удалить элемент матрицы, которые присутствуют в ArrayList в полностью. Только один будет удален, я верю. Исправьте меня Если я неправильно!
добавлено автор Arup Rakshit, источник
@phoog, который я согласовываю с вами, Но ошибка я сделал, неправильно помещается <> вместо = . И я просто исправил его. Надеюсь теперь, что это будет работать.
добавлено автор Arup Rakshit, источник
Этот VBA или vbscript? Независимо, я думаю, что вы хотите измениться До , чтобы В то время как или изменение <> , чтобы = . Наконец, чего вы пытаетесь достигнуть? Кодекс выглядит скорее перепутанным. You' ре, подвергающее сомнению список, чтобы найти индекс пункта, определило местонахождение в индексе IndexSearch. Это doesn' t имеют смысл; it' s как выяснение, "каков адрес здания, расположенного на 1 Мэйн-Стрит?".
добавлено автор phoog, источник

1 ответы

Хорошо, "не имеет смысл" часть моего комментария, было неправильным; я неправильно читал пример.

Вот то, что происходит: Делает До X средства оценивают X, и если результат ложных , то выполните тело цикла. Так, IndexOf ясно возвращается-1, "Пока" условие не оценивает к ложному, и тело цикла выполняет с RemovePosition, являющимся равным-1. Это объясняет ошибку.

1
добавлено
Да! b вы правы, и я зафиксировал его! Спасибо за ваше усилие и помощь!:-)
добавлено автор Arup Rakshit, источник
Я получил другую ошибку в другой части, я могу продолжить здесь или различная почта, вы были бы suugest?
добавлено автор Arup Rakshit, источник
Хорошо я делаю!
добавлено автор Arup Rakshit, источник
@VBSlover, Если it' s другая ошибка в другой части, это должен, вероятно, быть новый вопрос.
добавлено автор phoog, источник