Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

Код:

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,053
Репутация: 819
По умолчанию

То же формулой:
Код:

=(ДЛСТР(D1)-ДЛСТР(ПОДСТАВИТЬ(D1;A1;"")))/ДЛСТР(A1)

Казанский вне форума   Ответить с цитированием
Старый 07.12.2011, 11:15   #4
nilem
Участник клуба
 
Регистрация: 25.04.2010
Адрес: Уфа
Сообщений: 610
Репутация: 145
По умолчанию

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 Кб, 4 просмотров)
nilem вне форума   Ответить с цитированием
Старый 07.12.2011, 11:18   #5
Vja4eslav
Форумчанин
 
Регистрация: 13.08.2011
Адрес: Волгоград
Сообщений: 86
Репутация: 10
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками. Не разберуст как определить сколько раз 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 23:13
Найти сколько раз один символ повторяется? Ayat Общие вопросы C/C++ 5 17.10.2010 21:03
сколько раз входит в строку группа букв abc Женечка92 Помощь студентам 3 06.05.2010 22:45


18:56.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru