2016-05-06 8 views
1

Это должно быть просто, но я не могу найти нигде.VBA - найти последнюю строку определенного диапазона столбцов

У меня есть таблица, которая варьируется от «A: EV».

Я хочу найти последнюю строку только диапазона «A: DD».

В столбцах могут быть пустые ячейки, поэтому мне нужно пройти через все и найти самый дальний ряд столбцов от A до DD.

Как это сделать?

+1

Таким же образом вы проверяете для одного столбца. Затем создайте цикл, чтобы перейти от столбца A в DD, проверяя, где находится последняя строка. Сохраните максимальное значение. [Эта ссылка] (http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba) должна дать вам хорошую отправную точку –

+1

@ScottCraner У вас есть хихиканье, вы идете слепой, это та же самая ссылка, которую я опубликовал 8) Лучше ?. –

+0

Я не видел редактирования извините. В отпуске и использовании моего телефона. –

ответ

1

Измененный HERE

Sub foo() 


With Sheets("Sheet9") 'Change to your sheet 
    If Application.WorksheetFunction.CountA(.Cells) <> 0 Then 
     lastrow = .Range("A:DD").Find(What:="*", _ 
         After:=.Range("A1"), _ 
         Lookat:=xlPart, _ 
         LookIn:=xlFormulas, _ 
         SearchOrder:=xlByRows, _ 
         SearchDirection:=xlPrevious, _ 
         MatchCase:=False).Row 
    Else 
     'Used 1000 to prove that it was not defaulting to this. 
     'Change to 1 when using in actual code. 
     lastrow = 1000 'Change to 1 when using. 
    End If 
    MsgBox lastrow 
End With 
End Sub 

enter image description here

+1

Else lastrow = 1000? не должно быть 1 для пустого листа? Предполагая, что это единственный раз, когда вы попадете в else stat –

+0

@ForwardEd да, но я хотел показать, что это не было дефолтом для else. Я изменю его и поставлю заметку. –

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