Как исправить ошибку времени выполнения 9 в этом коде? - PullRequest
0 голосов
/ 14 октября 2019

Я действительно новичок в VBA, поэтому моё описание может быть не очень точным. Я пытаюсь написать код для перевода моей анкеты в ответы.

Я хочу вернуть набор дополнительных ответов, которые у меня есть на основе ответа опрошенных. Поэтому я попробовал «selectcase», но оказалось, что в моем коде ошибка времени выполнения «9».

Sub macro111()
'
Dim a As Integer
Dim b As Integer
Dim x As Integer
Dim result As String
For x = 2 To 110
a = Cells(x, 10).Value
Select Case a
Case Is = 1
    b = Cells(x, 11).Value
    If b = 1 Then
    result = "15,001~20,000"
    ElseIf b = 2 Then
    result = "20,001~30,000"
    ElseIf b = 3 Then
    result = "30,001~40,000"
    ElseIf b = 4 Then
    result = "40,001~50,000"
    ElseIf b = 5 Then
    result = "50,000+"
    Cells(x, 43).Value = result
    End If
Case Is = 2
    macro1
    End Select
Next x
End Sub

Sub macro1()
'
s =[{14750,14000;13150,12700;12500,12200;11800,11500;11300,11050;10800,10650;10550,10400;10200,10050}] 
arr = [a1].CurrentRegion
For i = 2 To UBound(arr)
For ii = 19 To UBound(arr, 26)
If Len(arr(i, ii)) Then arr(i, ii) = IIf(arr(i, ii) = 1, s(ii - 1, 1), s(ii - 1, 2))
Next
Next
[a1].CurrentRegion = arr
End Sub

Останавливается на

For ii = 19 To UBound(arr, 26)

С учетом ошибки «Ошибка времени выполнения 9, индекс вне диапазона» И я не понимаю причину. Пожалуйста, помогите мне исправить это!

Спасибо !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...