2015-07-30 31 views
1
lastrow = ThisWorkbook.Sheets("Numbers").Cells(Rows.Count, 1).End(xlUp).Row 

У меня есть данные до тех пор, пока 55-я строка, но последняя строка не даст мне 70, поскольку формула тянется до 70-й строки, а строки от 55 до 70 содержат пустое пространство согласно формуле , Как я могу избежать этого?Поиск Дезеру с пустыми ячейками в листе

+0

Отъезд [этот пост на форуме] (http://www.mrexcel.com/forum/excel-questions/621582-visual-basic-applications-end-xlup-ignore-blank .html) для альтернатив 'End' :) –

+0

Используйте' .Find', как показано там с 'LookIn: = xlValues' –

ответ

2

Петля вокруг всех ячеек в радиусе действия, затем отработайте первую непустую ячейку. Установите lastrow в этой ячейке

lastrow = ThisWorkbook.Sheets("Numbers").Cells(Rows.Count, 1).End(xlUp).Row 

for i = lastrow to 1 step -1 
    if ThisWorkbook.Sheets("Numbers").Cells(i, 1) <> " " then 
     lastrow = i 
     exit for 
    end if 
next 
+2

После того, как последнему задано значение i, вы захотите, чтобы он вышел из цикла for. Если вы не выйдете из цикла, он продолжит движение и в конечном итоге даст последнему значение 1. – rwilson

+0

@ rwilson Я понял, что когда я получил 1 с первой попытки. Благодарю. – Meesha

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