Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подсчет букв в слове / 10 сообщений из 10, страница 1 из 1
01.12.2014, 19:54
    #38821861
Herpppp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Ввести слово и подсчитать количество букв «а» и «у» в нем. Напишите, пожалуйста, макрос.
...
Рейтинг: 0 / 0
01.12.2014, 22:18
    #38822010
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Herpppp,

А в чем сложность самому написать?
...
Рейтинг: 0 / 0
04.12.2014, 18:45
    #38825373
Herpppp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Написал вот, но почему то не работает. В чем ошибка?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub m_1()
Dim str1 As String
Dim k As Integer
Dim i As Integer
str1 = Val(InputBox("ââåäèòå ñëîâî"))
For i = 1 To Len(str1)
    If LCase(Mid(str1, i, 1)) Like "[à]" Then
       k = k + 1
    End If
Next i
MsgBox "k=" + Str(k)
End Sub

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
04.12.2014, 19:01
    #38825401
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Herpppp,

1) Фукнция Val() - преобразует текст в число, пытается по крайней мере преобразовать. В итоге любая текстовая фраза, пропущенная через Val возвратит вам значение "0".
2) Можно было из без Like обойтись, просто сравнить с "а" и "у", и для чтобы подсчитать обе буквы, нужно 2 переменные счётчика сделать, и соответственно в двух условиях считать, например.
...
Рейтинг: 0 / 0
04.12.2014, 19:04
    #38825402
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Для чего в вашем коде используется Val()?

ЗЫ: При копировании из окна VB6/VBA убедитесь, что включена русская раскладка, тогда в форум (да и в другие юникодовые места) русский текст будет вставлен правильно
...
Рейтинг: 0 / 0
04.12.2014, 19:14
    #38825421
Herpppp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Shocker.Pro, Спасибо
...
Рейтинг: 0 / 0
04.12.2014, 19:20
    #38825426
Herpppp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Всем спасибо, помогли:)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub m_1()
Dim str1 As String
Dim k1 As Integer
Dim k2 As Integer
Dim i As Integer
str1 = InputBox("введите слово")
For i = 1 To Len(str1)
    If LCase(Mid(str1, i, 1)) Like "[а]" Then
       k1 = k1 + 1
    End If
Next i
For i = 1 To Len(str1)
    If LCase(Mid(str1, i, 1)) Like "[у]" Then
       k2 = k2 + 1
    End If
Next i
MsgBox "Букв <а> в слове=" + Str(k1)
MsgBox "Букв <у> в слове=" + Str(k2)
End Sub
...
Рейтинг: 0 / 0
04.12.2014, 22:02
    #38825536
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Herpppp,
все делается намного, намного проще :-)

Как подсчитать количество повторений
В конце статьи приводил пример с функцией на VBA, которая решает это все одной строкой. И работать будет быстрее(хотя на паре слов разницы явно заметно не будет).
...
Рейтинг: 0 / 0
04.12.2014, 22:04
    #38825540
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
Herpppp,

Возможно Вам также понравится такой вариант:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub Count()

Dim sToCheck As String
Dim sSymbolToCount(1, 1) As String
Dim i As Integer

sToCheck = "testme"
sSymbolToCount(0, 0) = "t"
sSymbolToCount(1, 0) = "s"

For i = 0 To UBound(sSymbolToCount)
    sSymbolToCount(i, 1) = Len(sToCheck) - Len(Replace(sToCheck, sSymbolToCount(i, 0), ""))
    Debug.Print sSymbolToCount(i, 0) & ": " & sSymbolToCount(i, 1)
Next

End Sub
...
Рейтинг: 0 / 0
05.12.2014, 12:28
    #38826058
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет букв в слове
The_Prist
авторНапишите, пожалуйста, макрос.
макрос <> функция
Задание будет считаться не выполненным
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подсчет букв в слове / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]