Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   VBA. Строки (http://forum.oszone.net/showthread.php?t=195241)

Дашка 28-12-2010 18:15 1576443

VBA. Строки
 
Ввести текст. Подсчитать количество слов в тексте, длина которых меньше введенного числа. У меня не получается!!
Код:

Sub Шалахан() 
Dim S As String 
Dim k As Double,
 n As Double 
k = 0 
n = InputBox("Введите n")
 S = InputBox("Введите текст") 
If   
k = k + 1 
MsgBox "Количество слов=" & k 
End If 
End Sub


KnRSU 29-12-2010 10:00 1576812

Код:

Sub Шалахан() 
Dim S As String 
Dim k As Long
Dim n As Double 
Dim dat() as String
Dim i as Long
k = 0
'Получаем значение n
n = Val(InputBox("Введите n") & "")
'Получаем текст
S = InputBox("Введите текст") & ""
'Избавляемся от двойных пробелов во введенном тексте
S = Replace(S, "  ", " ")
'Создаем из текста массив слов которые он содержит
dat() = Split(S, " ")
'Обходим все слова в тексте по циклу
For i = 0 to Ubound(dat)
  'Если длинна очередного слова менее чем n
  If Len(dat(i)) < n Then
      'Наращиваем количество найденных слов
      k = k + 1 
  End If
Next i
'Выводим результат работы
MsgBox "Количество слов у которых длинна меньше чем " & n & " ровно " & k
End Sub


KnRSU 29-12-2010 10:07 1576814

Дашка, На фотках окон пример работы написанного выше кода в режиме макроса M$ Excel


Время: 22:44.

Время: 22:44.
© OSzone.net 2001-