2016-08-10 5 views
1

Я пытаюсь сделать это способ найти последнюю строку, как я нашел последний столбец:EXCEL-VBA лучший способ найти последнюю строку

Sheets("Sheet2").Cells(1,Sheets("Sheet2").Columns.Count).End(xlToLeft).Column`enter code here` 

Я знаю, как сделать это таким образом, но это не так так полезно, как предшествующее будет:

u = Sheets("Sheet1").Range("A65536").End(xlUp).Row 

Я попытался сделать это:

Sheets("Sheet2").Cells(Sheets("Sheet2",1).Rowa.Count).End(xlToUP).Column 

Любая помощь будет принята с благодарностью.

Сводка: хотелось бы, чтобы путь ниже для последней строки. Благодаря

Sheets("Sheet2").Cells(1,Sheets("Sheet2").Columns.Count).End(xlToLeft).Column`enter code here` 
+0

Почему не используется 'Sheets ("Лист2"). UsedRange.Rows.Count'? – GCSDC

+0

См. Здесь: http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba –

+1

, но в сущности 'Листы (« Лист2 »). Ячейки (1, Листы (" Sheet2 "). Rows.Count) .End (xlUp) .Row' –

ответ

5

Вы должны использовать с заявлением, чтобы квалифицировать как ваши Rows и Columns отсчетов. Это предотвратит любые ошибки при работе со старыми предзаголовками 2007 и более поздними 2007 годами Excel.

Последняя колонка

With Sheets("Sheet2") 
    .Cells(1, .Columns.Count).End(xlToLeft).Column 
End With 

Последняя строка

With Sheets("Sheet2") 
    .Range("A" & .Rows.Count).End(xlUp).Row 
End With 

Или

With Sheets("Sheet2") 
    .Cells(.Rows.Count, 1).End(xlUp).Row 
End With 
Смежные вопросы