Я пытаюсь создать скрипт, который может удалить дубликаты в списке чисел. Только проблема, я продолжаю получать Subscript out of range (Error 9)
.Visual Basic: ошибка времени выполнения «9»: «Подстрочный код вне диапазона»
Sub remDupes()
Dim units() As Variant
For i = 2 To 37
Dim var As String
If ((Not Not units) = 0) Then
For x = 0 To 36
var = Cells(i, 22).Value
If (units(x) = var) Then
Range("V" & i, "AA" & i).Value = ""
Else
units(x) = var
End If
Next
End If
Next
End Sub
Ошибки происходит:
If (units(x) = var) Then
И я не знаю, почему
Единицы измерения представляют собой массив переменных размеров, поэтому необходимо сохранить его в размере до сохранения в нем значения. Используйте 'Dim units (от 0 до 36) как Variant'. –
Я не уверен точно, что вы пытаетесь сделать, но метод «RemoveDuplicates» объекта «Range» или использование объекта «Collection» или «Dictionary» может быть лучшим способом. –
@RonRosenfeld Спасибо! Я смотрю вокруг уже довольно много часов, и ты первый предлагаешь это. –