excel - 确定列中最后一个非值(可能有公式)行

标签 excel vba row

我有一列在每个行字段中都有一个公式。该公式从另一个 Excel 电子表格传播数据。但是,如果行字段中没有任何内容,则该行保持空白。

我找到了许多示例来获取列中的最后一行。他们失败了,因为他们将公式检测为其中包含某些内容的行。

如何获取忽略公式且仅尝试检测值的列中的最后一行?

我尝试了两种方法来搜索列中的最后一行:

Function lastRowA(rngInput As Range) As Variant
    Dim WorkRange As Range
    Dim i As Integer, CellCount As Integer
    Application.Volatile
    Set WorkRange = rngInput.Rows(1).EntireRow
    Set WorkRange = Intersect(WorkRange.Parent.UsedRange, WorkRange)
    CellCount = WorkRange.Count
    For i = CellCount To 1 Step -1
        If Not IsEmpty(WorkRange(i)) Then
            lastRowA = WorkRange(i).Value
            Exit Function
        End If
    Next i
End Function



function lastRow(column as string, optional plusOne as boolean)
    If (plusOne = False) then
        plusOne=False
    End If

    if (plusOne = False) Then
        lastRow = Replace(Range(column & "65536").End(xlUp).Address, "$", "")
    Else
        lastRow = Range(column & "65536").End(xlUp).Address
        lastRow = Cells(lastRow)
        ' Replace(, "$", "")
    End If
End Function

最佳答案

如果您想查找包含非空值的最后一行(由公式生成或通过输入常量),请尝试此操作

Sub FindLastValue()
Dim jLastRow As Long
jLastRow = ActiveSheet.Cells.Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End Sub

关于excel - 确定列中最后一个非值(可能有公式)行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548889/

相关文章:

excel - 仅提取 8 位数字且后面不包含字符 (., @)

Excel 宏在调试中有效,但在完整运行中无效

sql - 长名称工作表的 ADO 查询导致 Jet 错误

excel - 在Excel 2010中的下拉列表中创建一个复选框

python - 使用 Python Pandas 读取 excel 并隔离列/行以进行绘图

excel - 使用 ms-excel 将背景颜色从一个单元格复制到单独工作表中的单元格?

vba - Excel VBA 用户窗体打开时 Excel 崩溃

excel - XL 宏可以选择具有可变起始行和结束行的范围吗?

javascript - 如何获取表格的特定div?

MySQL 行到列