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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 19:53   #1
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию посчитать кол-во запятых в ячейке >(^.^)<

Драсьте)
Это опять я вам надоедаю.
Подскажите, пожалуйста, функцию, которая считает кол-во определенных символов, если такова существует. В моем случае - кол-во запятых.
Вопрос вот в чём...
На входе:
Код:

________A______________|_________B___
W5|M|1, G4|t1|1 ________|    first
55|R|1_________________|    second
5F|D|1, T4|h1|2, 5|Е|1 __|    third
В столбце "А" перечислены через запятую данные. Необходимо их разделить и записать всё в столбик, сопоставив для каждой строчки данные из столбца В. То есть на выходе должно получиться:

Цитата:
__А_____|__B__
W5|M|1__| first
G4|t1|1__| first
55|R|1 __| second
5F|D|1___| third
T4|h1|2 _| third
5|Е|1 ___| third
Вот у меня и возникла идея посчитать количество запятых в каждой строке столбца А, прибавить единицу к этому значению и получившееся кол-во раз прописать слово, стоящее в колонке B вниз.
С разделением данных из колонки А в столбик я справилась. Осталось занести данные в столбец В необходимое для каждой строчки кол-во раз. Просто другого способа пока не придумала

Это вроде с помощью функций "LBound" или "UBound" можно сделать ?
Я в правильном направлении мышлю ?
Peace!

Последний раз редактировалось Blame; 25.12.2011 в 20:16.
Blame вне форума Ответить с цитированием
Старый 25.12.2011, 20:17   #2
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Тема рядом по разделению строки на слова. Там разделитель - пробел. Переделать под запятую легко.
vikttur вне форума Ответить с цитированием
Старый 25.12.2011, 20:32   #3
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию

Vikttur

Благодарю за ответ)

Но мне нужно чуть-чуть не это)) Я, наверное, не ясно изъяснилась)) Или я Вас не правильно поняла))
Строки-то я на слова разделила без проблем, слава Богу)
Мне нужно сопоставить для разделенной строки А значения в столбце В необходимое кол-во раз.

Рисуночек прикрепила)) ->
Изображения
Тип файла: jpg Clipboard02.jpg (77.0 Кб, 109 просмотров)
Peace!
Blame вне форума Ответить с цитированием
Старый 25.12.2011, 21:00   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Function M_Count(s As String)
M_Count = UBound(Split(s, ","))
End Function
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.12.2011, 21:39   #5
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Можно формулой. Одной. Или с доп. столбцом для облегчения вычислений. Но:
Цитата:
One Life - One Love - No One File
vikttur вне форума Ответить с цитированием
Старый 26.12.2011, 00:52   #6
Blame
Пользователь
 
Регистрация: 24.12.2011
Сообщений: 70
По умолчанию

Doober
Вначале не поняла, что и как, но сейчас уже получилось всё замечательно!! \(*.*)/
Масима-масима!!!


Vikttur
Наверное, вариант с формулой, к сожалению, не подойдет.
Если только её можно программно подключить к макросу. Я правда не знаю, возможно ли это.
файлик приложила на всякий случай))
Вложения
Тип файла: zip пример исходных данных.zip (7.2 Кб, 6 просмотров)
Peace!
Blame вне форума Ответить с цитированием
Старый 26.12.2011, 05:53   #7
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Цитата:
Сообщение от Blame Посмотреть сообщение
файлик приложила на всякий случай))
может так:
Код:
Sub Blame()
Dim i As Integer, j As Integer, s
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    For Each s In Split(Cells(i, 1), ",")
        j = j + 1
        Cells(j + 1, 4).Resize(1, 3) = Split(s, "|")
        Cells(j + 1, 7) = Cells(i, 2).Value
    Next s
Next i
End Sub
Вложения
Тип файла: rar Blame.rar (9.0 Кб, 10 просмотров)
MCH вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посчитать кол-во картинок в DLL harryp Общие вопросы Delphi 2 17.12.2010 22:32
как подсчитать количество запятых в ячейке evdss Microsoft Office Excel 4 14.10.2010 14:06
Посчитать кол-во сложенных символов Desvi Паскаль, Turbo Pascal, PascalABC.NET 1 07.06.2010 18:57
Как посчитать кол-во повторений? Pro100c00l Помощь студентам 5 03.12.2009 01:00
Посчитать кол-во символов Memo EleGant Общие вопросы Delphi 15 20.10.2009 10:34