Я ответил с примером на планете. А тут могу добавить - если уж использовать UDF, то сразу и написать такую под эту задачу - пусть считает все ячейки сама.
Я ответил с примером на планете. А тут могу добавить - если уж использовать UDF, то сразу и написать такую под эту задачу - пусть считает все ячейки сама.Hugo
Такой вариант не пойдет (Никто вносить значения в каждую ячейку (объединенную ) не будет там их очень много) может сесть возможность по другому подсчитать
Такой вариант не пойдет (Никто вносить значения в каждую ячейку (объединенную ) не будет там их очень много) может сесть возможность по другому подсчитатьS-Nelsona
если уж использовать UDF, то сразу и написать такую под эту задачу
вариант [vba]
Код
Function u_9(a As Range, b As Range) u_9 = 0 For Each c In a If c.Value <> "" Then f = c.Value If IsNumeric(Application.Search(b, f)) Then u_9 = u_9 + 1 Next End Function
если уж использовать UDF, то сразу и написать такую под эту задачу
вариант [vba]
Код
Function u_9(a As Range, b As Range) u_9 = 0 For Each c In a If c.Value <> "" Then f = c.Value If IsNumeric(Application.Search(b, f)) Then u_9 = u_9 + 1 Next End Function
Спасибо всем за идеи и подсказки. В общем получилось так.
Формула: [vba]
Код
=MergeIsСount($C3:$AG3;AI$1)
[/vba]
Модуль в VBA: [vba]
Код
Function MergeIsСount(a As Range, b As Range) MergeIsСount = 0 For Each c In a If IsNumeric(Application.Search(b, c)) Then MergeIsСount = MergeIsСount + c.MergeArea.Cells.Count Next End Function
[/vba]
Код листа книги (для принудительного обновить все формул, так как формула не обновляется если сначала в нести текст в ячейку а потом объединить с пустыми:) [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.CalculateFullRebuild End Sub
[/vba]
Спасибо всем за идеи и подсказки. В общем получилось так.
Формула: [vba]
Код
=MergeIsСount($C3:$AG3;AI$1)
[/vba]
Модуль в VBA: [vba]
Код
Function MergeIsСount(a As Range, b As Range) MergeIsСount = 0 For Each c In a If IsNumeric(Application.Search(b, c)) Then MergeIsСount = MergeIsСount + c.MergeArea.Cells.Count Next End Function
[/vba]
Код листа книги (для принудительного обновить все формул, так как формула не обновляется если сначала в нести текст в ячейку а потом объединить с пустыми:) [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.CalculateFullRebuild End Sub