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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2018, 23:16   #41
Alex-76
 
Регистрация: 21.04.2018
Сообщений: 4
По умолчанию

Спасибо, но у меня не работает. Скорее всего я просто не знаю как это запихнуть в ексел, читал,разбирался всю ночь но увы. Нужно учить матчасть,но бонально нет времени. Нельзя ли это записать в виде формулы? Чтоб бонально ввести с клавиатуры в нужную ячейку и всё.
Alex-76 вне форума Ответить с цитированием
Старый 22.04.2018, 23:36   #42
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от Alex-76 Посмотреть сообщение
разбирался всю ночь но увы
Если встроенной справки не хватило, почитайте
https://www.planetaexcel.ru/techniques/3/59/
Вложения
Тип файла: xls Книга2.xls (29.0 Кб, 46 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 22.04.2018 в 23:54.
Казанский вне форума Ответить с цитированием
Старый 23.04.2018, 15:17   #43
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

вариант функции в C1 или функции bbb1

Код:
 Function bbb&(r As Range)
  Dim i&, z, j&, t$
  With CreateObject("VBScript.RegExp"):   .Global = True: .Pattern = "\d+": z = r.Value
    For j = 1 To UBound(z): t = z(j, 1)
      For i = 0 To .Execute(t).Count - 1: bbb = bbb + .Execute(t)(i): Next
    Next
  End With
End Function
Код:
Function bbb1#(r As Range)
  Dim i&, z, j&, t$, O As Object
  With CreateObject("VBScript.RegExp"):   .Global = True: .Pattern = "\d+,?(?:\d+)?": z = r.Value
    For j = 1 To UBound(z)
       t = z(j, 1): Set O = .Execute(t)
      For i = 0 To O.Count - 1
        bbb1 = bbb1 + O(i)
     Next i, j
  End With
End Function
Вложения
Тип файла: xls example_23_04_2018_progr2.xls (35.5 Кб, 19 просмотров)

Последний раз редактировалось svsh2016; 23.04.2018 в 16:36.
svsh2016 вне форума Ответить с цитированием
Старый 23.04.2018, 17:05   #44
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

добавил на листе Лист2 в F2 вариант для двухмерного случая

Код:
Function bbb2#(r As Range)
  Dim i&, z, k&, j&, t$, O As Object
  With CreateObject("VBScript.RegExp"):   .Global = True: .Pattern = "\d+,?(?:\d+)?": z = r.Value
  For k = 1 To UBound(z, 2)
    For j = 1 To UBound(z)
       t = z(j, k): Set O = .Execute(t)
      For i = 0 To O.Count - 1
        bbb2 = bbb2 + O(i)
     Next i, j, k
  End With
End Function
Вложения
Тип файла: xls example_23_04_2018_progr3.xls (45.0 Кб, 31 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 24.04.2018, 17:29   #45
Alex-76
 
Регистрация: 21.04.2018
Сообщений: 4
По умолчанию

Здравствуйте.
Спасибо, ваш вариант очень хорошо работает но на в вашей же только книге. Если функцию перенести в мою, то видимо у меня другая версия exel2013 при устранении совместимости перестает работать, пишет неправильное ИМЯ.
Alex-76 вне форума Ответить с цитированием
Старый 25.04.2018, 09:55   #46
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

Alex-76,приведите пример Вашего файла,где у Вас не получается,результат не может зависеть от версии Excel.
svsh2016 вне форума Ответить с цитированием
Старый 26.04.2018, 08:47   #47
Alex-76
 
Регистрация: 21.04.2018
Сообщений: 4
По умолчанию пример

Цитата:
Сообщение от svsh2016 Посмотреть сообщение
Alex-76,приведите пример Вашего файла,где у Вас не получается,результат не может зависеть от версии Excel.
Нужно чтоб в графе "количество часов" была сумма чисел.
Вложения
Тип файла: xlsx пример.xlsx (27.7 Кб, 35 просмотров)
Alex-76 вне форума Ответить с цитированием
Старый 26.04.2018, 09:35   #48
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Function bbb3&(r As Range)
  Dim i&, z, j&, t$
  Dim cel
  With CreateObject("VBScript.RegExp")
    .Global = True:
    .Pattern = "\d+"
    For Each cel In r
        z = cel.Value
        For i = 0 To .Execute(z).Count - 1: bbb = bbb + .Execute(z)(i): Next
    Next
  End With
End Function
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
суммировать значения повторяющихся ячеек в excel breeze.olga Microsoft Office Excel 17 17.12.2015 17:03
как округлить числа во всём столбце(2500 ячеек)? Danatos Microsoft Office Excel 13 15.02.2011 06:08
Как преобразовывать числа в текст? bluesman Microsoft Office Excel 4 25.09.2010 00:22
Числа как текст ezus Microsoft Office Excel 4 02.08.2009 14:17
Как в OnkeyPress отловить если в Edit есть текст позицию заменяемого символа? slips Общие вопросы Delphi 3 06.12.2008 18:12