Информатика, вопрос задал 11max , 2 года назад

Задача в VBA
Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы "." (точка).


11max: вот то, что у меня не получается
Sub str_4()
Dim a, k, b
Dim i, n
a = InputBox("slovo")
b = InputBox("bykva")
n = 0
For i = 1 To Len(a)
k = Mid(a, i, 1)
n = n + 1
Next i
If n > b Then a = Mid(a, i, 0) Else: a = "." + a
MsgBox a
End Sub

Ответы на вопрос

Ответил Аноним
1
Sub str_4()
On Error GoTo Handler

Dim S As String
Dim N As Integer

S = InputBox("Stroka?")
N = InputBox("Chislo?")

If Len(S) > N Then S = Right(S, N)

While Len(S) < N
S = "." + S
Wend

MsgBox (S)
End

Handler:
MsgBox "Oshibka!"

End Sub
Ответил Аноним
0
Sub aaa()
    s = InputBox("Введите строку")
    n = CInt(InputBox("Введите длину N"))
    m = Len(s)
    If m > n Then
        s = Right(s, n)
    Else
        If m < n Then s = String(n - m, ".") + s
    End If
    MsgBox "Результат: " + s, vbInformation
End Sub

Новые вопросы