Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
RagnarLodbrok
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 16
1

Суммирование чисел разделенные дополнительным текстом, идущие рядом с похожими словосочетаниями

06.05.2018, 22:48. Просмотров 791. Ответов 9
Метки нет (Все метки)

Доброго времени суток.
Подскажите решение проблемы.

Имеется макрос суммирования чисел в текстовой строке, которые идут рядом с идентичными словосочетаниями.
То есть если словосочетания - одинаковы, то числа, стоящие рядом с ними - суммируются.
Текст выглядит как - "второй текст0.5", и эти слова в строке - разделены - разделителями плюсами либо минусами.

Но возник вопрос - как суммировать числа разделенные дополнительным текстом из зеленой ячейки ... и вставить результат в желтую ячейку ?
(текст выглядит примерно так - "второй текст1заметка0.25")
0
Вложения
Тип файла: xls 1.xls (44.0 Кб, 5 просмотров)
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2018, 22:48
Ответы с готовыми решениями:

Суммирования чисел, стоящих рядом с одинаковыми словосочетаниями
Всем привет. Такой вопрос появился. В ячейке E6 есть текстовая строка - в...

Суммирование чисел из ячеек с текстом
здравствуйте. Есть столбец с содержимым (данная запись в одной ячейке):...

Извлечение и суммирование чисел из ячейки с текстом
Здравствуйте. Имеется ячейка вида: Необходимо узнать общее число...

Перекрестная ссылка с дополнительным текстом на литературный источник
Добрый день! Для ссылок на литературные источники использую следующую...

Определить, есть ли в последовательности два члена, идущие рядом, и равные К
Данное натуральное число N и целые числа К, a1, ..., aN. Есть ли в...

9
tmash
3 / 3 / 0
Регистрация: 21.08.2015
Сообщений: 7
06.05.2018, 23:43 2
Привет!
В Module1 замените
Visual Basic
1
Function Ra$(ByVal x)
на
Visual Basic
1
Public Function Ra$(ByVal x)
и функция появится в определённых пользователем
0
RagnarLodbrok
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 16
06.05.2018, 23:57  [ТС] 3
tmash, заменил.
Не работает.

В желтой ячейке E16 - вообще никакого результата не появляется.
0
Burk
485 / 362 / 107
Регистрация: 11.07.2014
Сообщений: 1,187
07.05.2018, 06:10 4
RagnarLodbrok, у вас какие-то одинаковые задачи с Дмитрий2 - Суммирование ...... Тема находится чуть ниже вашей. Там я написал макрос. Нужно попробовать аналогично адаптировать под ваши заметки. Не получится, пишите

Добавлено через 11 минут
RagnarLodbrok, маленько ошибся, вы такую задачу (первая строка данных) уже писали и Казанский вам ответил, за что вы его поблагодарили. Вторая строка чуть посложнее, но не исключено, что вы получите помощь от Казанского. В моём макросе тоже можно посмотреть как можно работать с вашими строками.
0
RagnarLodbrok
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 16
12.05.2018, 13:23  [ТС] 5
здравствуйте
Подскажите решение проблемы.

Имеется макрос суммирования чисел в текстовой строке, которые идут рядом с идентичными словосочетаниями.
То есть если словосочетания - одинаковы, то числа, стоящие рядом с ними - суммируются.
Текст выглядит как - "второй текст0.5", и эти слова в строке - разделены - разделителями плюсами либо минусами.

Но возник вопрос - как суммировать числа разделенные дополнительным текстом из зеленой ячейки ... и вставить результат в желтую ячейку ?
(текст выглядит примерно так - "второй текст1заметка0.25")
0
Вложения
Тип файла: xls 1.xls (49.5 Кб, 4 просмотров)
Burk
485 / 362 / 107
Регистрация: 11.07.2014
Сообщений: 1,187
12.05.2018, 16:07 6
RagnarLodbrok, 7.5.18 уже была такая тема, зачем повторять?
0
RagnarLodbrok
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 16
13.05.2018, 04:19  [ТС] 7
Burk, то есть - если не ответили, то писать второй раз уже нельзя ?
0
Burk
485 / 362 / 107
Регистрация: 11.07.2014
Сообщений: 1,187
13.05.2018, 08:13 8
Лучший ответ Сообщение было отмечено RagnarLodbrok как решение

Решение

RagnarLodbrok, по-моему администрация такие вещи старается пресекать. Посмотрите правила форума и лучше Менять название темы. Я тут вам написал макрос, только вы постарайтесь понять, что вам пишут и пытайтесь делать самостоятельно, хоть и с ошибками. Тогда будет видно, что вы не только ждёте, чтобы за вас написали.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub Pohoj()
Dim S As String, S1 As String, Sum1 As Double, Sum2 As Double, S2 As String
Dim Ch1 As String, Ch2 As String, I As Integer, J As Integer, K As Integer
Dim SS As String, L As Integer
S = "второй текст1заметка0.25+третий текст0.5заметка0.5+второй текст0.25заметка0.5+первый текст1заметка1+четвертый текст0.5заметка0.25+первый текст0.5заметка1"
S = Trim(Replace(S, "-", "+")) & "+"
Do While S <> ""
  I = InStr(S, "+"): S1 = Left(S, I - 1): J = 1
  Do While Not Mid(S1, J, 1) Like "[0-9.]"
    J = J + 1
  Loop
  S2 = Left(S1, J - 1): K = J 'S2 - первый текст
  Sum1 = 0: Sum2 = 0: J = 1
  Do While J > 0
    S = Left(S, J - 1) & Mid(S, I + 1): K = 1
    L = Len(S2) + 1: K = L
    Do While Mid(S1, K, 1) Like "[0-9.]" 'ищем первое число
      K = K + 1
    Loop
    Ch1 = Mid(S1, L, K - L)
    K = Len(S1): J = K
    Do While Mid(S1, K, 1) Like "[0-9.]" 'ищем второе число
      K = K - 1
    Loop
    Ch2 = Mid(S1, K + 1, J - K)
    Sum1 = Sum1 + Val(Ch1): Sum2 = Sum2 + Val(Ch2)
    J = InStr(S, S2) 'следующий такой же первый текст
    If J > 0 Then I = InStr(J, S, "+"): S1 = Mid(S, J, I - J)
  Loop
  SS = SS & S2 & Sum1 & "заметка" & Sum2
Loop
SS = Replace(SS, ",", ".")
  MsgBox "ss=" & SS
End Sub
1
RagnarLodbrok
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 16
13.05.2018, 09:28  [ТС] 9
Burk, ясно-ясно - учту.
Спасибо.
0
Burk
485 / 362 / 107
Регистрация: 11.07.2014
Сообщений: 1,187
13.05.2018, 09:54 10
RagnarLodbrok, про плюсик опять забыл
Visual Basic
1
2
SS = SS & S2 & Sum1 & "заметка" & Sum2 & "+"  'строка 30
SS=left(SS,Len(SS)-1)                'Вставить после строки 32
1
13.05.2018, 09:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2018, 09:54

Написать программу на суммирование рядом
Программа должна формировать таблицу, содержащую столбцы: - значения...

Изображение рядом с текстом HTML
Добрый день, в футере нужно вывести лого компании и просто строку текста...

Разместить кнопку рядом с текстом
Увеличиваю шрифт текста кнопка тоже увеличивается. Надо обязательно кнопку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru