第一行是所有标题,第一列是所有日期。我正在寻找vba代码/宏来查找并选择标题后每列中的第一个非空单元格。例如,找到B2范围内的第一个非空单元格并选择它。
答案 0 :(得分:14)
IF 您的第一行是标题行,然后您可以使用:
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
答案 1 :(得分:2)
在每列i
中,第一个非空单元格是
set first_ne = cells(2,i)
if isempty(first_ne.value) then
set first_ne = first_ne.end(xldown)
end if
答案 2 :(得分:1)
使用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