2016-07-05 8 views
1

Я работаю с таблицей контроля качества, и я хочу найти (или узнать) самую длинную строку, содержащую самое маленькое количество ячеек. например:Как узнать длину самой длинной строки на листе

aa | bb | cc | dd | 
aa | kk | 
aa | dd | ss | 

Ну, я хочу, чтобы программа может сказать мне длинный ряд является первым, который содержит 4 колонки. Я использовал этот код:

ActiveCell.End(xlDown).Select 
ActiveCell.End(xlToRight).Select 
my_line = Selection.Row 
my_column= Selection.Column + 1 

Но это может дать только мне длину последней строки, но не самый длинный. Поэтому, если у вас есть идеи, оставьте комментарий.

+0

Можете уточнить? Похоже, вы хотите найти ROW с наиболее заполненными ячейками * aka * последнего заполненного столбца. Самая длинная строка звучит так, будто вы смотрите на содержимое внутри ячеек, а не на самих ячеек. – Jeeped

ответ

3

Используйте Range.Find method с подстановочным знаком. Начните с A1 и оглянитесь назад (т. Е. XlPrevious). Поиск быстро найдет последнюю использованную ячейку по столбцу.

Dim lst As Range 
With Worksheets("Sheet7") 
    Set lst = .Cells.Find(What:=Chr(42), After:=.Cells(1, 1), LookIn:=xlFormulas, _ 
     LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious) 
End With 
Debug.Print lst.Row 
Debug.Print lst.Column 
+0

Это работает! Спасибо! – Hiddenllyy

Смежные вопросы