lapulechka Сударыня. Вы тоже будущий Ведущий Специалист в Области Права?
Об этой ошибке
Цитата: For i = n To 1 Step -1
a(i - 1) = a(i)
я не писал, поскольку она, в отличии от указанной, не логическая. Достаточно нажать при ошибке кнопку "Debug"/"Отладка", чтобы посмотреть состояние переменных. Вы либо задавайте массив от 0 до n, либо внесите исправление в число, записанное после To
Да, и чтобы значил этот код у Вас?
txtМассив.Text = txtМассив.Text + "" + Str(a(i))
зачем используется пустая строка ""?
Добавлено: IZV Код: Public Function Analyse(ByVal testStr As String) As String
Dim posA As Long, posB As String
Dim CharA As String, CharB As String
posA = InStr(1&, testStr, "а", vbTextCompare)
If posA = 0& Then
MsgBox "Буква А не найдена в строке: " & vbLf & testStr, vbExclamation, "Ошибка"
Analyse = "": Exit Function
End If
posB = InStr(1&, testStr, "б", vbTextCompare)
If posB = 0& Then
MsgBox "Буква Б не найдена в строке: " & vbLf & testStr, vbExclamation, "Ошибка"
Analyse = "": Exit Function
End If
CharA = Mid$(testStr, posA, 1&): CharB = Mid$(testStr, posB, 1&)
If posA > posB Then
Analyse = Mid$(testStr, 1&, posB - 1&) & CharA & _
Mid$(testStr, posB + 1&, posA - posB - 1&) & _
CharB & Mid$(testStr, posA + 1&)
Else
Analyse = Mid$(testStr, 1&, posA - 1&) & CharB & _
Mid$(testStr, posA + 1&, posB - posA - 1&) & _
CharA & Mid$(testStr, posB + 1&)
End If
End Function