Помогите пожалуйста решить задачу, поиском не смог.
Мне нужно в диапазоне ячеек, в которых есть текст (буквы) и числа, выявить все числа (в том числе двухзначные) и просуммировать их в отдельной ячейке. Как реализовать штатными средствами?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Sub Подсчет()
Dim i, j, arr, rng As Range, oMatches As Object, LastRow As Long, sum
Set rng = Application.InputBox("Выберите диапазон для суммирования", Type:=8)
arr = rng
arr = Application.Transpose(arr)
For Each i In arr
With CreateObject("VBScript.Regexp")
.Global = True
.MultiLine = True
.Pattern = "\d+"
If .test(i) Then
Set oMatches = .Execute(i)
For Each j In oMatches
sum = sum + CInt(j.Value)
Next j
End If
End With
Next i
LastRow = rng.Rows.Count + 1
Cells(LastRow + 1, 1) = sum
End Sub
=СУММ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A4:A8;" шт.";ПОВТОР(" ";99));"-";ПОВТОР(" ";99));СТОЛБЕЦ(A:Q)*99;99);)) Формула массива, вводится тремя клавишами
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Всем добрый день. Спасибо большое всем откликнувшимся. Честно говоря ни одна формула не заработала (мои кривые руки и отсутствие времени для вникания в проблемы почему так), но я решил изменить подход к организации задачи и немного по другому стал ее решать. Но в любом случае вы большие молодцы!