Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 返回值相对单元格引用_Excel_Vba - Fatal编程技术网

Excel 返回值相对单元格引用

Excel 返回值相对单元格引用,excel,vba,Excel,Vba,我需要返回一个单元格的值,向下一行,然后返回到表中的最后一列,而不激活该单元格。我已经让VBA返回了最后一列这不起作用 WorkPercent = Cells(2, LastCol - 1).Value 假设您谈论的是“特定表格右下一行的单元格”,您可以尝试: Sub main() Dim sheet As Worksheet Dim tbl As ListObject Dim lastCol As Integer Dim lastRow As Integer

我需要返回一个单元格的值,向下一行,然后返回到表中的最后一列,而不激活该单元格。我已经让VBA返回了最后一列
这不起作用

WorkPercent = Cells(2, LastCol - 1).Value

假设您谈论的是“特定表格右下一行的单元格”,您可以尝试:

Sub main()
    Dim sheet As Worksheet
    Dim tbl As ListObject
    Dim lastCol As Integer
    Dim lastRow As Integer

    Set sheet = ActiveSheet
    Set tbl = sheet.ListObjects("tbl")

    lastCol = tbl.DataBodyRange.Columns(tbl.DataBodyRange.Columns.Count).Column
    lastRow = tbl.DataBodyRange.Rows(tbl.DataBodyRange.Rows.Count).Row

    MsgBox sheet.Cells(lastRow + 1, lastCol + 1)
End Sub

请使用抵销属性

WorkPercent  = Cells(2, LastCol - 1).Offset(1, 0).Value

“不工作?”您收到了什么错误消息?其他代码在哪里?正如我所说,我已经计算出了最后一行和最后一列。那么,你能澄清你的问题吗?我发布的代码从表中向下读取一行、跨一列的单元格,而不使其处于活动状态;这不是你想要的吗?出于某种原因,我无法将这个公式放到正确的单元格中。有没有办法让公式引用的单元格跳起来、闪动和倒扣?用这么多的话来说,我不知道这个公式指向哪个单元格,因为它没有返回任何值,而且应该返回。我明白了为什么你的公式不起作用。您要启动的单元格位于绝对第2行。我整个例程的第一次迭代从第7行开始,每隔一次迭代就前进2步。我需要它前进两行。这是一种简陋的工作方式。PercentCount=PercentCount+2 WorkPercent=单元格(5+PercentCount,LastCol).偏移量(1,0).值