Помогите пожалуйста разобраться. У меня есть таблица на несколько столбцов, в ней через тире стоят числа в некоторых по 2 числа, мне нужно, чтобы в конце строки было подсчитано итого по числам. Помню была у меня похожая тема, там было через "," я понял как выделить одно число, но только с помощью 2 ячеек, а как в одной пока еще не понял, поэтому прошу помочь.
Заранее очень благодарен.
P.S. Всех С наступившим Новым годом и Рождеством и наступающим Старым новым годом!
Приветствую вас , Уважаемые Форумчане.
Помогите пожалуйста разобраться. У меня есть таблица на несколько столбцов, в ней через тире стоят числа в некоторых по 2 числа, мне нужно, чтобы в конце строки было подсчитано итого по числам. Помню была у меня похожая тема, там было через "," я понял как выделить одно число, но только с помощью 2 ячеек, а как в одной пока еще не понял, поэтому прошу помочь.
Заранее очень благодарен.
P.S. Всех С наступившим Новым годом и Рождеством и наступающим Старым новым годом!ПАМ
Добрый день. Вариант пользовательской функцией [vba]
Код
Function ПАМ(r As Range) As Double With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\d+" For Each cl In r.Cells If .test(cl.Value) Then For i = 0 To .Execute(cl.Value).Count - 1 ПАМ = ПАМ + .Execute(cl.Value)(i) Next i End If Next cl End With End Function
[/vba]
Добрый день. Вариант пользовательской функцией [vba]
Код
Function ПАМ(r As Range) As Double With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\d+" For Each cl In r.Cells If .test(cl.Value) Then For i = 0 To .Execute(cl.Value).Count - 1 ПАМ = ПАМ + .Execute(cl.Value)(i) Next i End If Next cl End With End Function
Function bb&(r As Range) Dim i&, j&, z: z = r.Value With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True For i = 1 To UBound(z, 2) For j = 0 To .Execute(z(1, i)).Count - 1 bb = bb + .Execute(z(1, i))(j) Next j, i End With End Function
[/vba]
ПАМ, добрый вечер, ещё вариант функции [vba]
Код
Function bb&(r As Range) Dim i&, j&, z: z = r.Value With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True For i = 1 To UBound(z, 2) For j = 0 To .Execute(z(1, i)).Count - 1 bb = bb + .Execute(z(1, i))(j) Next j, i End With End Function