Excel 计算附加列的最后一行时出错

Excel 计算附加列的最后一行时出错,excel,vba,Excel,Vba,我在VBA中使用下面的代码填写单元格Y3:AB3中的公式,直到X列的最后一行,但excel将填写公式,直到最后一行加上另外3000行。我用不同的文件和数据集测试了这个公式,但我得到了相同的错误。请你给个建议 谢谢, R 你不应该有AB3,只要AB。范围参考应包括第一行和最后一行编号。您在最后一行号前面添加了额外的3,这将导致额外的3000行 Range("Y3:AB" & LastRow).FillDown 此外,正如所指出的,使用CurrentRegion.Rows不是获取最后一行的

我在VBA中使用下面的代码填写单元格Y3:AB3中的公式,直到X列的最后一行,但excel将填写公式,直到最后一行加上另外3000行。我用不同的文件和数据集测试了这个公式,但我得到了相同的错误。请你给个建议

谢谢, R


你不应该有
AB3
,只要
AB
范围
参考应包括第一行和最后一行编号。您在最后一行号前面添加了额外的3,这将导致额外的3000行

Range("Y3:AB" & LastRow).FillDown
此外,正如所指出的,使用
CurrentRegion.Rows
不是获取最后一行的简单方法。如果您的数据不是从第1行开始的,则可能会产生意外的结果

相反,您可以使用
End(xlUp)
(也建议使用):


你不应该有
AB3
,只要
AB
范围
参考应包括第一行和最后一行编号。您在最后一行号前面添加了额外的3,这将导致额外的3000行

Range("Y3:AB" & LastRow).FillDown
此外,正如所指出的,使用
CurrentRegion.Rows
不是获取最后一行的简单方法。如果您的数据不是从第1行开始的,则可能会产生意外的结果

相反,您可以使用
End(xlUp)
(也建议使用):

您可以尝试:

Sub Test()
    Sheets("CJI Data").Select
    Dim LastRow As Long
    Dim Sht As Worksheet
    Set Sht = ActiveWorkbook.Sheets("CJI Data")
    LastRow = Sht.Range("X1048576").End(xlUp).Row
    Range("Y3:AB3" & LastRow).FillDown
    Range("A2:AB2").Select
End Sub
我希望这有帮助

您可以尝试:

Sub Test()
    Sheets("CJI Data").Select
    Dim LastRow As Long
    Dim Sht As Worksheet
    Set Sht = ActiveWorkbook.Sheets("CJI Data")
    LastRow = Sht.Range("X1048576").End(xlUp).Row
    Range("Y3:AB3" & LastRow).FillDown
    Range("A2:AB2").Select
End Sub

我希望这有帮助

范围(“Y3:AB”和LastRow)。向下填充将包括任何相邻数据,而不仅仅是列X。如果您只对列X感兴趣,请使用
LastRow=Sht.Cells(Rows.Count,24)。结束(xlup)。行
感谢Darrel H<代码>范围(“Y3:AB”和LastRow)。向下填充将包括任何相邻数据,而不仅仅是列X。如果您只对列X感兴趣,请使用
LastRow=Sht.Cells(Rows.Count,24)。结束(xlup)。行
感谢Darrel H!这两个建议都很有魅力!!谢谢BigBen和Darrell!这两个建议都很有魅力!!谢谢BigBen和Darrell!谢谢劳尔,我用达雷尔H和大本钟的建议解决了我的问题。谢谢劳尔,我用达雷尔H和大本钟的建议解决了我的问题。