Коллеги, вот мне тут недавно понадобилось проверить, все ли ячейки в колонке рядом с заведомо заполненной до конца заполнены. Ну я, как паинька, пишу код[vba]
Код
Dim rws As Integer, rwf As Integer
rws=Cells(Rows.Count,1).End(xlUp).Row rwf=Cells(Rows.Count,2).End(xlUp).Row With Range(Cells(rws,2),Cells(rwf,2)) If .SpecialCells(xlCellTypeConstants).Count=.Count
[/vba]и с удивлением обнаруживаю, что если rws=rwf (то есть диапазон содержит одну ячейку), то .SpecialCells(xlCellTypeConstants).Count возвращает то же, что UsedRange.SpecialCells(xlCellTypeConstants).Count, то есть для SpecialCells одна ячейка равна UsedRange. Как это обойти - понятно, но непонятно, какого чёрта??
Коллеги, вот мне тут недавно понадобилось проверить, все ли ячейки в колонке рядом с заведомо заполненной до конца заполнены. Ну я, как паинька, пишу код[vba]
Код
Dim rws As Integer, rwf As Integer
rws=Cells(Rows.Count,1).End(xlUp).Row rwf=Cells(Rows.Count,2).End(xlUp).Row With Range(Cells(rws,2),Cells(rwf,2)) If .SpecialCells(xlCellTypeConstants).Count=.Count
[/vba]и с удивлением обнаруживаю, что если rws=rwf (то есть диапазон содержит одну ячейку), то .SpecialCells(xlCellTypeConstants).Count возвращает то же, что UsedRange.SpecialCells(xlCellTypeConstants).Count, то есть для SpecialCells одна ячейка равна UsedRange. Как это обойти - понятно, но непонятно, какого чёрта??StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.