Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


ymka_0@vk, я задание понял немного иначе: ввести слово, позицию и заменяющую букву. Впрочем, Вам виднее. Раз:
Цитата ymka_0@vk:
я так понимаю по заданной позиции найти символы и поменять их местами, »
пусть так и будет.

Вот Ваш вариант (без каких-либо проверок ввода):
Код: Выделить весь код
Option Explicit

Sub Задача8()
    Dim strWord As String
    
    Dim lngPos1 As Long
    Dim lngPos2 As Long
    
    Dim lngTempPos As Long
    
    strWord = Trim(InputBox("Введите слово:"))
    lngPos1 = CLng(InputBox("Введите позицию 1-й буквы для обмена:"))
    lngPos2 = CLng(InputBox("Введите позицию 2-й буквы для обмена:"))
    
    If lngPos1 > lngPos2 Then
        lngTempPos = lngPos1
        lngPos1 = lngPos2
        lngPos2 = lngTempPos
    End If
        
    MsgBox _
        Mid(strWord, 1, lngPos1 - 1) & _
        Mid(strWord, lngPos2, 1) & _
        Mid(strWord, lngPos1 + 1, lngPos2 - (lngPos1 + 1)) & _
        Mid(strWord, lngPos1, 1) & _
        Mid(strWord, lngPos2 + 1)
End Sub
Другой вариант:
Код: Выделить весь код
Sub Задача8_1()
    Dim strWord As String
    
    Dim lngPos1 As Long
    Dim lngPos2 As Long
    
    Dim strTempChar As String
    
    strWord = Trim(InputBox("Введите слово:"))
    lngPos1 = CLng(InputBox("Введите позицию 1-й буквы для обмена:"))
    lngPos2 = CLng(InputBox("Введите позицию 2-й буквы для обмена:"))
    
    strTempChar = Mid(strWord, lngPos2, 1)
    Mid(strWord, lngPos2, 1) = Mid(strWord, lngPos1, 1)
    Mid(strWord, lngPos1, 1) = strTempChar
    
    MsgBox strWord
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:14, 27-12-2012 | #2