Написать функцию вставляющую подстроку в строку с заданной позицией

Автор Посетитель 28.09.2023, 26 сентября 2023, 22:07

Посетитель 28.09.2023

Написать функцию вставляющую подстроку в строку с заданной позицией. Проверить, не выходит ли заданная позиция за пределы строки.
нужно чтобы это работало по кнопке в экселе, туда вписывать начальную строку, что вставить и позицию куда вставить, потом должен выдаться MsgBox того что получилось
Option Explicit
Dim Stred As String, Strin As String
Dim Num As Integer, Numin As Integer
Dim res As Boolean

Private Sub Command1_Click()
Stred = InputBox("Введите редактируемую строку")
Strin = InputBox("Введите строку для вставки")
Numin = CInt(InputBox("Введите позицию вставки"))
res = Insert(Stred, Strin, Numin)
If res Then
MsgBox "Новая строка : " & Stred, vbOKOnly + vbInformation
Else
MsgBox "Заданная позиция выходит за пределы строки", vbCritical + vbOKOnly, "Ошибка!"
End If
End Sub

Private Function Insert(ByRef Str1 As String, ByVal Str2 As String, ByVal poz As Integer) As Boolean
Dim Strl As String, Strr As String
If poz > Len(Str1) Then
Insert = False
Exit Function
End If
Strl = Left(Str1, poz)
If poz = Len(Str1) Then
Strr = ""
Else
Strr = Right(Str1, poz)
End If
Str1 = Strl & Str2 & Strr
Insert = True
End Function

вот это переделать чтобы работало по кнопке

Администратор

Сделайте файл-пример и на основе этого файла поясните, что нужно сделать.