Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 10:38   #1
Vja4eslav
Пользователь
 
Регистрация: 13.08.2011
Сообщений: 90
По умолчанию Сколько раз строка-образец входит в строку, в которой её надо найти?

Здравствуйте, уважаемые форумчане! Я в VBA новичок- самоучка, специального образования нет.
Пытаюсь решить вопрос: как посчитать - сколько раз строка, которая является образцом для поиска, содержится в строках, в которых её надо найти.
Пытался решить задачу с помощью InStr и InStrRev, но не получается. Повторюсь, что в VBA я самоучка.
Может ли кто-нибудь помочь: подсказать какую- нибудь функцию, которой я наверняка не знаю или найти решение ещё каим- нибудь способом.
Файл с примером прилагаю
Вложения
Тип файла: rar Файл- пример.rar (5.7 Кб, 12 просмотров)
Vja4eslav вне форума Ответить с цитированием
Старый 07.12.2011, 11:03   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Sub tt()
    Dim i&, j&, s$, ss$
    For i = 1 To 3
        s = Cells(i, 1)
        ss = Cells(i, 4)
        j = (Len(ss) - Len(Replace(ss, s, ""))) / Len(s)
        Cells(i, 2) = j
    Next
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 07.12.2011, 11:09   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

То же формулой:
Код:
=(ДЛСТР(D1)-ДЛСТР(ПОДСТАВИТЬ(D1;A1;"")))/ДЛСТР(A1)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 07.12.2011, 11:15   #4
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

UDF
Код:
Function podschet(str As String, rng As Range) As Long
Dim r As Range, s, j&
For Each r In rng
    s = Split(r, str): j = j + UBound(s)
Next
podschet = j
End Function
Вложения
Тип файла: zip Файл- пример.zip (8.9 Кб, 11 просмотров)
nilem вне форума Ответить с цитированием
Старый 07.12.2011, 11:18   #5
Vja4eslav
Пользователь
 
Регистрация: 13.08.2011
Сообщений: 90
По умолчанию

Большое спасибо!
Vja4eslav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками. Не разберуст как определить сколько раз 2-ая строка встречается в 1-ой.( Borland3.1C) dykatob Общие вопросы C/C++ 6 05.05.2011 21:44
Работа со строками. Не пойму как определить сколько раз одна строка встречается в другой dykatob Общие вопросы C/C++ 10 29.04.2011 22:46
SOS Надо написать код в С++ ( есть образец, надо переделать просто!) Беата Общие вопросы C/C++ 9 08.12.2010 22:13
Найти сколько раз один символ повторяется? Ayat Общие вопросы C/C++ 5 17.10.2010 21:03
сколько раз входит в строку группа букв abc Женечка92 Помощь студентам 3 06.05.2010 22:45