Страницы: 1
RSS
Посчитать количество ячеек до первой пустой, Была такая тема в 2011 г . Но решение не было получено . То что предложено не очень работает. Заранее благодарю за помощь?
 
Это из архива:
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=28789

И файл во вложении.
 
Так же можно сформулировать : считать до первого текста.
 
Макросом устроит?
 
Код
Sub iCount()
Dim iLastRow As Long
Dim rng As Range
  iLastRow = Cells(Rows.Count, "C").End(xlUp).Row
  For Each rng In Range("C2:C" & iLastRow).SpecialCells(2, 1).Areas
    rng.Cells(1, 3) = rng.Count
  Next
End Sub
 
Ну и UDF до кучи
Код
Function СЧЁТМЕЖДУПУСТО(rng As Range)
arr = Intersect(rng, Application.Caller.Parent.UsedRange).Value
For I = 1 To UBound(arr)
    If arr(I, 1) = Empty Then
        Exit Function
    Else
        СЧЁТМЕЖДУПУСТО = СЧЁТМЕЖДУПУСТО + 1
    End If
Next
End Function
Согласие есть продукт при полном непротивлении сторон
 
Или так:
Код
Sub Macro1()
Dim LastRow As Long, i As Long, Counter As Long
    LastRow = Cells(Rows.Count, 3).End(xlUp).Row
    For i = LastRow To 1 Step -1
        If Cells(i, 3) <> "" Then
            Counter = Counter + 1
        Else
            Cells(i + 1, 4) = Counter
            Counter = 0
        End If
    Next
End Sub
 
Решения формулами тоже когда-то имелись
Для пустых промежутков:
Код
=ПОИСКПОЗ(;ЕСЛИ(C2:C$100="";)-1
формула массива
для текстовых промежутков:
Код
=ПОИСКПОЗ("*";C2:$C$100;)-1
 
Немного усовершенствовал свою UDF, что-бы было действительно МЕЖДУ. Вторым параметром указывается номер блока между пустыми ячейками
Код
Function СЧЁТМЕЖДУПУСТО(rng As Range, N As Integer)
iArea = 1
arr = Intersect(rng, Application.Caller.Parent.UsedRange).Value
For I = 1 To UBound(arr)
    If arr(I, 1) <> Empty Then
        If iArea = N Then СЧЁТМЕЖДУПУСТО = СЧЁТМЕЖДУПУСТО + 1
    Else
        iArea = iArea + 1
    End If
Next
End Function
Согласие есть продукт при полном непротивлении сторон
 
Я не владею макрос. Как это вписать в формулу ?
 
Скопируйте в стандартный (обычный) модуль. Прочитать про них можно здесь.
 
Ребят, а нельзя от ТС попросить пример в студию, а не по ссылкам? Тогда и последнего его сообщения могло не быть.. :)
P.S. Рад видеть kimа,  в теме. Нех Жие Беларусь!
Я сам - дурнее всякого примера! ...
 
Формулой.
Код
=СУММПРОИЗВ(ПОИСКПОЗ(;--(C2:C33>0);))-1
=СУММПРОИЗВ(ПОИСКПОЗ(1=1;C2:C33="";))-1
Изменено: gling - 16.06.2017 23:01:01
 
Серёж, так пример в стартовом сообщении прикреплён )
 
Старею.. :( Я только ссылку увидел. Ну, прошу прощения. Не, таки не прошу. В топике есть ссылка, есть файл. но нет описания вопроса. Сейчас это выглядит нехорошо, но при модемном соединении внапряг перегружать и перечитывать все ссылки не имея вопроса. Но ладно.. уже вижу, ребята вникли :)
Изменено: kuklp - 16.06.2017 23:09:51
Я сам - дурнее всякого примера! ...
Страницы: 1
Наверх