Все слова, длиной более пяти символов, начинать с прописной буквы - VBA

  1. Добрый день! Требуется написать программу в VBA: Дан текст, слова которого отделяются друг от друга пробелами. Вывести исходный текст, таким образом, чтобы все слова, длиной более пяти символов, начинались бы с прописной буквы. Я написал, но у меня выходит что все слова выводит с прописной буквы, как изменить мой код-формирование строки вывода (именно изменит мой) чтоб только слова длинной более 5 выводило с прописной ?


textual

Код к задаче: «Все слова, длиной более пяти символов, начинать с прописной буквы - VBA»

Private Sub CommandButton1_Click()
Dim sp
Dim str, str1 As String
Const N = 100
Dim M(N) As String
Dim str_v As String
str = TextBox1.Value
 'Просмотр всех символов строки
j = 1
str = LTrim(str) ' удалить начальные пробелы из строки
For i = 1 To Len(str)
    If Mid(str, i, 1) <> " " Then
        M(j) = M(j) + Mid(str, i, 1)
    Else
' если слова отделены между собой несколькими пробелами то пропустить эту последовательность
        While Mid(str, i + 1, 1) = " "
            i = i + 1
         Wend
        ' подсчитывать слова только если за последовательностью пробелов следует слово
        If Mid(str, i + 1, 1) <> "" Then
            j = j + 1
        End If
    End If
Next i
' Формирование строки для вывода
sp = Split(TextBox1.Value, "")
For j = 0 To UBound(sp)
  If Len(Replace(sp(j), ",", "")) > 5 Then 'если длина строки без запятых больше 5 символов то
            sp(j) = UCase(Left(sp(j), 1)) & Right(sp(j), Len(sp(j)) - 1) 'делаем первую букву прописной
        End If
    Next
TextBox2.Value = Join(sp, " ")
End Sub
 
Private Sub TextBox1_Change()
 
End Sub

СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 4.000 из 5



Похожие ответы
  1. В тексте, находящийся в word 2007, выделить цветом и подсчитать слова, содержащие не менее двух повторяющихся букв. Вот что у меня получилось:

  1. Помогите пожалуйста! Дана строка текста. Найти слова, которые содержат сочетание "из". Для ввода исходного текста и вывода результата на окне формы установить два поля ввода TextBox. Не могу понять как отделять слова и какой функцией сравнивать с сочетанием "из". Смогла только это сделать

  1. В заданной строке найти те слова, которые начинаются с букв 'т' или 'п' и вывести их в столбик. Помогите, пожалуйста!

  1. 1 - текстовое поле, куда пользователь вводит произвольный текст. 2 - текстовое поле, куда пользователь вводит одно слово. 3 - Вывод в label. По нажатию кнопки происходит анализ: в лейбл выводит все слова из поля (1), в которых есть все буквы слова, указанного в поле (2). По переключению радио-кнопки выводит все слова, в которых нету ни одной совпадающей буквы. В случае, если не найдено ни одного подходящего слова - вывести соответствующее сообщение ( MsgBox ). ----------- P.S. Начал изучать бейсик - немного офигел, как тут муторно со строками играться.. За любую помощь буду благодарен.

  1. Составить программу, в которой проверяется, можно ли круг данного радиуса поместить в квадрат с данной длиной стороны (учесть вариант, когда круг вписан в квадрат). ( Вобще не понял со схемой вроде представляю как все рисунок даже сделал .. помогите пожалуйста)

  1. Дан файл, содержащий текст на русском языке. Найти слово, встречающееся в каждом предложении, или сообщить, что такого слова нет. помогите, пожалуйста. желательно код с комментариями

  1. Помогите пожалуйста, никак не могу понять в чем дело. мне нужно сделать 1.Вывести те слова, в которых буква «а» повторяется дважды 2. Ту же программу написать как подпрограмму процедуру. Написал код, но не работает

  1. Задача такая: Все буквы слова, в котором содержится не менее двух букв а, заменить на заглавные буквы. Помогите, пожалуйста!!! Не могу составить грамотное решение!!!!

  1. Как работать с форматированным текстом в ячейках? Допустим, нужно слова, выделенные курсивом и с шрифтом Arial, заключить в кавычки и убрать форматирование. Остальные буквы не трогать.