Страницы: 1
RSS
Поиск последней строки
 
Помогите с кодом VBA. Требуется найти последнюю строку на определенном листе в xls файле.    
Причем книга где искать не обязательно активна.
 
уж кажный день ищем.. поиском бы..  
 
workbooks(n).sheets(n).cells(rows.count,n).end(xlup) - последняя строка в n-ом столбце
Живи и дай жить..
 
это для активной книги...
 
Вы хоть читайте, что Вам Слэн пишет: workbooks(n)
 
Thanks...
 
а как узнать номер последнего столбца? в аналогичной ситуации
 
Range("B4").End(xlToRight).Column
 
{quote}{login=}{date=27.05.2010 03:55}{thema=}{post}а как узнать номер последнего столбца? в аналогичной ситуации{/post}{/quote}  
Слен писал:  
workbooks(n).sheets(n).cells(rows.count,n).end(xlup) - последняя строка в n-ом столбце  
аналогично:  
workbooks(n).sheets(n).cells(n,Columns.Count).end(xlup) - последний стстолбец в n-ой строке
 
Vovan, проверьте Ваше утверждение относительно столбцов :-)  
Если чего не так - попробуйте (xlToLeft)
 
Смотря что конечно надо определить - первую дыру или последнюю заполненную ячейку:  
 
Sub tt()  
x = Range("A1").End(xlToRight).Column  
MsgBox "Первая дыра в первом ряду слева: " & x  
y = Range("IV1").End(xlToLeft).Column  
MsgBox "Последняя заполненная ячейка в первом ряду: " & y  
End Sub
 
Ну да. Хотя в вопросе "последняя"... Но в любом случае не Up
 
Хотя с дырой я промахнулся - +1 надо добавить... :)
 
{quote}{login=Юрий М}{date=27.05.2010 09:18}{thema=}{post}Vovan, проверьте Ваше утверждение относительно столбцов :-)  
Если чего не так - попробуйте (xlToLeft){/post}{/quote}  
... и мышь не прошмыгнёт.   :)))  
Ну да, лоханулся, не докопировал у себя.  
У меня в частном случае работает такая строка  
iLastColumn = Workbooks("GasIA").Sheets("БД").Cells(1, Columns.Count).End(xlUp).Column  
т.е. надо было написать  
workbooks(n).sheets(n).cells(n,Columns.Count).end(xlup).Column  
Извиняюсь.    
Юрий, спасибо.  :)
 
эт был я...
 
Vovan RU, опять чуть-чуть не так. Поменяйте (xlup) на (xlToLeft)
 
{quote}{login=Юрий М}{date=27.05.2010 10:37}{thema=}{post}Vovan RU, опять чуть-чуть не так. Поменяйте (xlup) на (xlToLeft){/post}{/quote}  
Вопрос из азов, я так понимаю, но можно прокомментировать, Юрий.  
Ставил и так и этак - работает.
 
Это вопрос был   :)
 
Ну как она работает?    
x= Cells(1, Columns.Count).End(xlUp).Column покажет последний столбец на листе (255)  
x= Cells(1, Columns.Count).End(xlToLeft).Column покажет последний заполненный.
 
{quote}{login=Юрий М}{date=27.05.2010 10:47}{thema=}{post}Ну как она работает?    
x= Cells(1, Columns.Count).End(xlUp).Column покажет последний столбец на листе (255)  
x= Cells(1, Columns.Count).End(xlToLeft).Column покажет последний заполненный.{/post}{/quote}  
Ну да, Вы как всегда правы, Юрий!  
А я думаю: чего-то у меня работают два варианта одинаково?  
Вот почему:  
If Sheets("БД").Cells(1, i) <> "" Then  
Еще раз БОЛЬШОЕ СПАСИБО!
Страницы: 1
Читают тему
Наверх