Как найти первую непустую ячейку в столбце?
Первая строка - все заголовки, а первый столбец - все даты. Я ищу код VBA / макрос, чтобы найти и выбрать первую непустую ячейку в каждом столбце после заголовков. Например, найдите первую непустую ячейку в диапазоне B2 и выберите ее.
3 ответа
Если ваша первая строка является строкой заголовка, вы можете использовать:
Columns("B").SpecialCells(xlCellTypeBlanks)(1).Select
РЕДАКТИРОВАТЬ
Извините, неправильно прочитал вопрос, приведенный выше код абсолютно неверен. Решение:
Примечание: их разница между пустым и пустым.
Для первого непустого (как в заголовке вопроса) попробуйте:
With Columns("B")
.Find(what:="*", after:=.Cells(1, 1), LookIn:=xlValues).Activate
End With
Для первого непустого (как в теле вопроса) попробуйте:
В отличие от вышеуказанного, здесь также будут найдены непустые ячейки, в которых формула равна пустому, т. Е. =IF(A1=1,A1,"")
With Columns("B")
.Find(what:="*", after:=.Cells(1, 1), LookIn:=xlFormulas).Activate
End With
В каждом столбце i
первая непустая ячейка
set first_ne = cells(2,i)
if isempty(first_ne.value) then
set first_ne = first_ne.end(xldown)
end if
С использованием IsEmpty
Функция может проверить, является ли ячейка пустой или нет:
Sub GetFirstNonEmptyCell()
Dim startCell as range, firstNonEmptyCell as range
Set startCell = Range("B2") 'change this depending on which column you are looking at
If VBA.IsEmpty(startCell.Value) Then
MsgBox "No data in this column"
Else
Set firstNonEmptyCell = startCell.End(xlDown)
MsgBox "First non empty cell is " & firstNonEmptyCell.Address
End If
End Sub